在用到pbootC++ms建站时候,想要把发布的文章推送到百度,这个要怎么操作呢?
首先建立一个文件,随便命名,这里我们就命名为push.PHP,具体代码如下(注意:代码里有两处要修改,一个是sitemap.xml文件地址,另外一个就是百度推送代码,这个是要到百度站长平台申请)
<?phpheader('Content-Type:text/HTML;charset=utf-8'); /** 只需修改这里面的两个链接 **/$xml_url = "http://www.html5code.net/sitemap.xml"; // 这里修改你站点的xml地图链接$baidu_api = 'http://data.zz.baidu.com/urls?site=http://www.html5code.net&token=12345';// 这里修改为你在百度站长获取到的推送接口$xmldata =file_get_contents($xml_url); $xmlstring = simplexml_load_string($xmldata,'SimpleXMLElement',LIBXML_NOCDATA); $value_array = json_decode(json_encode($xmlstring),true); $url = [];for ($i =0;$i < count($value_array['url']);$i++){ // echo $value_array['url'][$i]['loc']."<br/>"; $url[]= $value_array['url'][$i]['loc']; }//百度推送接口一次只支持推送2000条数据,所以超过2000条的话需要分组推送$url_group = array_chunk($url,2000); $count=count($url_group);for($i=0;$i<$count;$i++){ $ch = curl_init(); $options = array( CURLOPT_URL => $baidu_api, CURLOPT_POST => true, CURLOPT_RETURNTRANSFER => true, CURLOPT_POSTFIELDS => implode(" ",$url_group[$i]), CURLOPT_HTTPHEADER => array('Content-Type:text/plain'), ); curl_setopt_array($ch, $options); $result =curl_exec($ch); curl_close($ch); echo $result; }?>
发布文档后,可以访问:http://网址/push.PHP 用于提交推送。或宝塔面板添加计划任务,这样的话就可以自动推送了,比如我建立一个每天推送的时间,在晚上23:50推送,如图所示: