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