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

抓取百度排名

PHP中文网
PHP中文网원래의
2016-05-25 17:13:451324검색

抓取百度排名      

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>


성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.