每日代码汇第五期:利用php获取网站关键词在百度的排名
使用:
新建php文件并粘贴代码,在php环境运行!如有编码问题请自行修改~
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 | <?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('/<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 />'; echo $rs_t[1][0]; break; } } unset($contents); if($rsState === false){ s($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; } s($_POST['keyword'],$url); $endtime = explode(' ',microtime()); $end = $endtime[0] + $endtime[1]; echo '<hr>'; echo '程序运行时间: '; 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> </h3></table> |
来源:http://www.oschina.net/code/snippet_162279_5107(oschina.net)
生产:小囧
主页:http://my.oschina.net/xiaojiong
一嗨租车:http://yuansaibi.com 优惠券,拥有折扣租车。
YOOX: http://www.sohuo.com
YOOX购物别忘记使用优惠码,特别是新人,可以优惠不少哦!
精彩大片你懂,htTP://uVU.Cc/iqVp
这个更刺j激,准备好手纸哦 A 片。。 http://T.CN/RcDykDn
万 部 A 片高清 国产日韩 http://T.cN/RcaKkbu
内容做好,才行。796交易所:http://www.yuansaibi.com/
对于排名之类的,无视之
嗯,这个倒是。网站维持长久最重要的还是内容的更新和精心维护,排名自然不在话下~