利用宝塔面板计划任务执行自动推送网址到百度(多站点版)
时间:2022-10-15 来源:本站
第一步:
在站点根目录新建一个PHP文件,例如:baidu.php,并复制下方代码添加到baidu.php文件中。
注意:需要修改的博主都已经添加了注释,多个站点只需参考示例的两个数组进行增加,然后保存。
<?phpheader('Content-Type:text/html;charset=utf-8');// ini_set('max_execution_time',600);//脚本超时,秒为单位,自己根据需要定义/** 多个站点只需在这里面新增数组 **/$data = array( array( 'url' => 'https://www.htmlbk.com/sitemap.xml',// 这里修改你站点的xml地图链接 'api' => 'http://data.zz.baidu.com/urls?site=https://www.htmlbk.com&token=111111111'// 这里修改为你在百度站长获取到的推送接口 ), array( 'url' => 'https://www.htmlbk.com/sitemap2.xml',// 这里修改你站点的xml地图链接 'api' => 'http://data.zz.baidu.com/urls?site=https://www.htmlbk.com&token=222222222'// 这里修改为你在百度站长获取到的推送接口 ),);/** 多个站点只需在这里面新增数组 **/foreach($data as $value){ echo '================================<br/>'; echo $value['url'].'<br/>'; post_Baidu($value['url'],$value['api']);}function post_Baidu($xml_url, $baidu_api) { $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("\n",$url_group[$i]), CURLOPT_HTTPHEADER => array('Content-Type:text/plain'), ); curl_setopt_array($ch, $options); $result =curl_exec($ch); curl_close($ch); echo $result.'<br/>'; }}?>
第二步:
登陆你们的宝塔面板,按照下图进行操作就完事。
好了,就是这么简单,步骤几乎和之前单站点推送的教程一样~
悄悄告诉你,其实博主直接写的,博主也没测试过emm,如果有什么问题请留言博主~
再悄悄地告诉大家,博主没有测试过,我已经测试过了,相当好用。
本文转载于:https://www.htmlbk.com/php/1094.html