1. 程式人生 > 其它 >PHP版訪客訪問文章自動推送百度資源平臺,增加收錄

PHP版訪客訪問文章自動推送百度資源平臺,增加收錄

前言

有人要,我就單獨從主題提取出來了! 原來有百度自動圖推送有js版本,現在好像不能用了。我就隨便整了個PHP版本的效果還是一樣的!

效果圖

自動推送程式碼

這個是判斷文章是否已經收錄。未收錄推送以收錄不推送以免造成重複推送!!

		<?php
		
		$cxurl='https://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
		function okBaidu($url){
		 $url='http://www.baidu.com/s?wd='.$url;
		 $curl=curl_init();
		 curl_setopt($curl,CURLOPT_URL,$url);
		 curl_setopt($curl,CURLOPT_RETURNTRANSFER,1);
		 $rs=curl_exec($curl);
		 curl_close($curl);
		 if(!strpos($rs,'提交網址')){
			echo "文章狀態:已收錄~";
		 }else{

				$pageURL = (@$_SERVER['HTTPS'] == 'on') ? 'https://' : 'http://';
				$pageURL .= $_SERVER['SERVER_NAME'].$_SERVER['PHP_SELF']; 	
				$urls = array(
					$pageURL
				);
			$api = 'http://data.zz.baidu.com/urls?site=https://jiba.icu&token=OWYiTZcIYZ1dwEcD';  //自行修改 百度 介面呼叫地址
			$ch = curl_init();
			$options =  array(
				CURLOPT_URL => $api,
				CURLOPT_POST => true,
				CURLOPT_RETURNTRANSFER => true,
				CURLOPT_POSTFIELDS => implode("\n", $urls),
				CURLOPT_HTTPHEADER => array('Content-Type: text/plain'),
			);
			curl_setopt_array($ch, $options);
				//第二種的返bai結果是以json形式。
				$res=json_decode(curl_exec($ch),true);
		
				$ed = ($res['remain']);//起作用
				$cg = ($res['success']);//起作用	
	
				echo "文章狀態:未收錄,以推送~ 【今日剩餘額度:$ed  條】";


		 }
		}
		echo okBaidu($cxurl);
					
		?>

不判斷是否收錄

這種是無腦死推版本,管你收錄沒收錄就死推送 哈哈!

				$pageURL = (@$_SERVER['HTTPS'] == 'on') ? 'https://' : 'http://';
				$pageURL .= $_SERVER['SERVER_NAME'].$_SERVER['PHP_SELF']; 	
				$urls = array(
					$pageURL
				);
			$api = 'http://data.zz.baidu.com/urls?site=https://jiba.icu&token=OWYiTZcIYZ1dwEcD';  //自行修改 百度 介面呼叫地址
			$ch = curl_init();
			$options =  array(
				CURLOPT_URL => $api,
				CURLOPT_POST => true,
				CURLOPT_RETURNTRANSFER => true,
				CURLOPT_POSTFIELDS => implode("\n", $urls),
				CURLOPT_HTTPHEADER => array('Content-Type: text/plain'),
			);
			curl_setopt_array($ch, $options);
				//第二種的返bai結果是以json形式。
				$res=json_decode(curl_exec($ch),true);
		
				$ed = ($res['remain']);//起作用
				$cg = ($res['success']);//起作用	
	
				echo "文章狀態:未收錄,以推送~ 【今日剩餘額度:$ed  條】";

一些引數

狀態碼為200,可能返回以下欄位:

欄位 是否必選 引數型別 說明
success int 成功推送的url條數
remain int 當天剩餘的可推送url條數
not_same_site array 由於不是本站url而未處理的url列表
not_valid array 不合法的url列表

呼叫方法: $ed = ($res['remain']);

更新

  • 2021.2.25

前面的php查詢文章百度是否收錄,很不穩定,於是改成API介面查詢收錄!

注意:伺服器需要啟用 file_get_contents 不懂的請百度不過多介紹

	$cxurl='https://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
			$cx=file_get_contents('https://api.btstu.cn/bdsite/api.php?url='.$cxurl);
			$arr = json_decode($cx, true);
			$pd= $arr['msg'];
			if($pd == '該網址未收錄') {
				
				$pageURL = (@$_SERVER['HTTPS'] == 'on') ? 'https://' : 'http://';
				$pageURL .= $_SERVER['SERVER_NAME'].$_SERVER['PHP_SELF']; 	
				$urls = array(
					$pageURL
				);
			$api = 'http://data.zz.baidu.com/urls?site=https://jiba.icu&token=OWYiTZcIYZ1dwEcD';
			$ch = curl_init();
			$options =  array(
				CURLOPT_URL => $api,
				CURLOPT_POST => true,
				CURLOPT_RETURNTRANSFER => true,
				CURLOPT_POSTFIELDS => implode("\n", $urls),
				CURLOPT_HTTPHEADER => array('Content-Type: text/plain'),
			);
			curl_setopt_array($ch, $options);
				//第二種的返bai結果是以json形式。
				$res=json_decode(curl_exec($ch),true);
		
				$ed = ($res['remain']);//起作用
				$cg = ($res['success']);//起作用	
	
				echo "百度資源平臺:推送成功~ 【今日剩餘額度:$ed  條】";
				
			} else{
				
			echo '文章狀態:已收錄~'; 
			
			}