Heim >php教程 >PHP源码 >抓取百度排名

抓取百度排名

PHP中文网
PHP中文网Original
2016-05-25 17:13:451332Durchsuche

抓取百度排名      

1. [图片] so.png    

抓取百度排名

2. [代码][PHP]代码 

function s($keyword,$url,$page = 1){
	static $px = 0;
	$rsState = false;
	
	$enKeyword = urlencode($keyword);
	$firstRow = ($page - 1) * 10;
	
	if($page > 10){
		die('10页之内没有该网站排名..end');
	}	
	$contents = file_get_contents("http://www.baidu.com/s?wd=$enKeyword&&pn=$firstRow");
	preg_match_all(&#39;/<table[^>]*?class="result"[^>]*>[\s\S]*?<\/table>/i&#39;,$contents,$rs);
	foreach($rs[0] as $k=>$v){
		$px++;
		if(strstr($v,$url)){
			$rsState = true;
			preg_match_all(&#39;/<h3[\s\S]*?(<a[\s\S]*?<\/a>)/&#39;,$v,$rs_t);
			echo &#39;当前 "&#39; . $url . &#39;" 在百度关键字 "&#39; . $keyword . &#39;" 中的排名为:&#39; . $px;
			echo &#39;<br>&#39;;
			echo &#39;第&#39; . $page . &#39;页;第&#39; . ++$k . "个<a target=&#39;_blank&#39; href=&#39;http://www.baidu.com/s?wd=$enKeyword&&pn=$firstRow&#39;>进入百度</a>"; 
			echo &#39;<br>&#39;;
			echo $rs_t[1][0];
			break;
		}
	}
	unset($contents);
	if($rsState === false){
		s($keyword, $url,++$page);
	}
}
if(isset($_POST[&#39;submit&#39;])){
	
	$time = explode(&#39; &#39;,microtime());
	$start = $time[0] + $time[1];

	$url = $_POST[&#39;url&#39;];
	if( count(explode(&#39;.&#39;,$url)) <= 2){

		$url = ltrim($url,&#39;http://&#39;);
		$url = &#39;www.&#39; . $url;
	}

	s($_POST[&#39;keyword&#39;],$url);
	
	$endtime = explode(&#39; &#39;,microtime());

	$end = $endtime[0] + $endtime[1];

	echo &#39;<hr>&#39;;
	echo &#39;程序运行时间: &#39;;
	echo $end - $start;	
	die();
}

?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=gbk" />
<title>抓取排名</title>

</head>

<body>
<form action="" method="post">
	<ul>
		<li>
			<span>关键字:</span><input type="text" name="keyword">
		</li>
		<li>
			<span>url地址:</span><input type="text" name="url">
		</li>
		<li>
			<input type="submit" name="submit" value="搜索">
		</li>
	</ul>
	
</form>
</body>
</html>


Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn