如何抓取关键字在百度搜索的排名
2012-10-10 19:15
190 查看
今天想做一个网站上的关键字在百度搜索中的排名。效果如图:
View Code
当然,功能还不完善,例如:暂时不支持回车搜索,手动输入域名太麻烦等等。。。
我会后续完善的。
加油~!
View Code
<?php function search($keyword,$url,$page = 1){ static $px = 0; $rsState = false; $enKeyword = urlencode($keyword); $firstRow = ($page - 1) * 10; if($page > 10){ exit('10页之内没有该网站排名..end'); } $contents = file_get_contents("http://www.baidu.com/s?wd=$enKeyword&&pn=$firstRow"); preg_match_all('/<table[^>]*?class="result"[^>]*>[\s\S]*?<\/table>/i',$contents,$rs); foreach($rs[0] as $k=>$v){ $px++; if(strstr($v,$url)){ $rsState = true; preg_match_all('/<h3[\s\S]*?(<a[\s\S]*?<\/a>)/',$v,$rs_t); echo '当前 "' . $url . '" 在百度关键字 "' . $keyword . '" 中的排名为:' . $px; echo '<br>'; echo '第' . $page . '页;第' . ++$k . "个<a target='_blank' href='http://www.baidu.com/s?wd=$enKeyword&&pn=$firstRow'>进入百度</a>"; echo '<br>'; //var_dump($rs_t[1][0]) ; $rs_t[1][0] = iconv('UTF-8','GBK',$rs_t[1][0]); echo $rs_t[1][0]; break; } } unset($contents); if($rsState === false){ search($keyword, $url,++$page); } } if(isset($_POST['submit'])){ $time = explode(' ',microtime()); $start = $time[0] + $time[1]; $url = $_POST['url']; if( count(explode('.',$url)) <= 2){ $url = ltrim($url,'http://'); $url = 'www.' . $url; } search($_POST['keyword'],$url); $endtime = explode(' ',microtime()); $end = $endtime[0] + $endtime[1]; echo "<br/>"; echo '程序运行时间: '; echo $end - $start; } ?> <!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=gb2312" /> <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>
当然,功能还不完善,例如:暂时不支持回车搜索,手动输入域名太麻烦等等。。。
我会后续完善的。
加油~!
相关文章推荐
- 如何在自己的网站输入关键字跳到百度搜索,并显示搜索内容呢?
- asp.net 如何改变GridView搜索出来关键字的颜色?就像百度似的,我获得的是一个集合,改变集合中关键字的集合
- 如何保持百度首页的关键字排名
- 如何提高网站在百度搜索的排名
- python 抓取百度搜索结果的快照排名信息
- 关于自制网页如何引用百度搜索的关键字菜单~
- 谈谈如何利用店铺的百度搜索排名获得更多流量
- 如何抓取谷歌,百度里面特定的搜索结果
- 百度UEditor编辑器如何关闭抓取远程图片功能
- 如何让百度搜索到我的博客或者网站
- java 抓取百度根据关键词搜索域名
- 搜索、关键字-截图留念,“万能数据库查询分析器”作为关键字在百度和谷歌上的海量搜索结果-by小雨
- 抓取百度搜索结果
- 百度全站 https FAQ:技术宅告诉你如何搜索更安全
- 如何做到优化引擎搜索SEO(有HTML,关键字,Ajax,url,内容顺序等)
- 类似百度的搜索提示框,数据库中查询关键字
- 如何实现IOS_SearchBar搜索栏及关键字高亮
- SEO–关于如何通过利用流量精灵刷百度排名及排名原理~
- 如何以某一关键字快速搜索AS/400 中的Message file