日期:2014-05-17  浏览次数:20618 次

获取关键字百度排名位数的方法,主要应该是正则表达式
例如从百度搜索csdn,
获取的结果部份如下:
HTML code

<table cellpadding="0" cellspacing="0" class="result" id="1" ><tr><td class=f><h3 class="t"><a class="favurl" style="background-image:url(http://picache.baidu.com/media?wd=CDA79D2E8563D8F5C0BE992128D3F9A731AB79C901D3B50C23CC90DA3E9B3A087B213DFB6081CDFAE847E90EF99A9BB4&src=local://spider/favicon/site_www.csdn.net.png&def=local://neverfill)" onmousedown="return c({'fm':'as','F':'779317EA','F1':'9D33F1E4','F2':'4CA63E6B','F3':'54E5243F','T':'1323793664','title':this.innerHTML,'url':this.href,'p1':1,'y':'FEFAFA7E'})" href="http://www.csdn.net/"target="_blank">


其中<table cellpadding="0" cellspacing="0" class="result" id="1" > 中的 id="1" 的 1则是以csdn为关键字时,www.csdn.net的百度自然排名。在 "'})" href="http://www.csdn.net/"target="_blank">"这串字符前数第15个字符,也是他的排名数字 1
我现在只能file_get_contents获取到整个的搜索结果,如何“提炼”出这个 id="1" 的 1呢? 请各位指教,谢谢!

我的思路是,从"'})" href="http://www.csdn.net 这段代码向前搜索第15个字条,获取他,也可以。

请各位指教,谢谢!

------解决方案--------------------
2点了,居然没人回答,看样子都在昏迷了。

$Str='<table cellpadding="0" cellspacing="0" class="result" id="1" >}';
$Pat='/id="([0-9])+"/';
preg_match($Pat, $Str,$Marray);
echo $Marray[1];