谷动谷力

标题: 获取网站地图自动推送的PHP代码 [打印本页]

作者: sunsili    时间: 2021-11-21 19:16
标题: 获取网站地图自动推送的PHP代码
本帖最后由 sunsili 于 2021-11-21 19:20 编辑

                                       
获取网站地图自动推送的PHP代码


自定义下述代码为任意文件名的php文件,配置好您的api,可实现自动读取网站的sitemap.xml地图文件,并像百度默认推送100条链接。
可通过计划任务进行定时定量推送,各位自行琢磨!
  1. <?php
  2. $token='http://data.zz.baidu.com/urls?site=www.sunsili.com&token=xxxxx';//去百度站长平台获取
  3. $xml_string = file_get_contents("http://www.xxx.cn/sitemap.xml");//网站xml地图
  4. $xml_string = trim($xml_string);
  5. $xml_object = simplexml_load_string($xml_string);
  6. $array=[];
  7. $i=0;
  8. foreach ($xml_object->url as $key=>$value){
  9.     //默认一次提交100,适合用于泛目录的xml地图(因为刷新一次就随机变),普通的网站的会出现重复提交,慎用,非要用就把$i数值改成2000 百度不允许超过2000
  10.     if($i===100){
  11.         break;
  12.     }
  13.     $array['aa']= get_object_vars($value);
  14.     $url.=$array['aa']['loc']."\n";
  15.     $i++;
  16. }
  17. $urls=explode("\n",$url);
  18. $ch = curl_init();
  19. $options =  array(
  20.     CURLOPT_URL => $token,
  21.     CURLOPT_POST => true,
  22.     CURLOPT_RETURNTRANSFER => true,
  23.     CURLOPT_POSTFIELDS => implode("\n", $urls),
  24.     CURLOPT_HTTPHEADER => array('Content-Type: text/plain'),
  25. );
  26. curl_setopt_array($ch, $options);
  27. $result = curl_exec($ch);
  28. echo $result;
  29. ?>
复制代码








欢迎光临 谷动谷力 (http://bbs.sunsili.com/) Powered by Discuz! X3.2