用php来查询百度或google的收录情况,其实并不复杂,只需要file下远程文件,然后分析相关数据即可。
以下是收录查询核心代码,getdetail函数也可以这样写,用正则去匹配:
1 2 3 4 5 | $wordf = preg_quote($wordf); $wordb = preg_quote($wordb); $pagecontent = @preg_replace( "/s*$wordf(.+?)$wordbs*/e" , "returndetail('1', '$type')" , $pagecontent); $pagecontent = @preg_replace( "/s*" .preg_quote($wordf). "(.+?)" .preg_quote($wordb). "s*/e" , "returndetail('1', '$type')" , $pagecontent); |
完整代码:
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 | <?php /** * 查询百度与google的收录情况 * by www.jb200.com */ $seodetail = array(); $domain = !empty($_GET[ 'q' ]) ? $_GET[ 'q' ] : 'www.mycodes.net' ; baidudetail($domain); googledetail($domain); var_dump($seodetail); function baidudetail($domain) { $baidu_site = 'http://www.baidu.com/baidu?word=site%3A' . $domain; $baidu_link = 'http://www.baidu.com/baidu?word=link%3A' . $domain; $baidu_domain = 'http://www.baidu.com/baidu?word=domain%3A' . $domain; getdetail($baidu_site, 'baidu_site' , '相关网页' , '篇,用时' ); getdetail($baidu_link, 'baidu_link' , '相关网页' , '篇,用时' ); getdetail($baidu_domain, 'baidu_domain' , '相关网页' , '篇,用时' ); } function googledetail($domain) { $google_site = 'http://www.google.cn/search?hl=zh-CN&q=site%3A' . $domain; $google_link = 'http://www.google.cn/search?hl=zh-CN&q=link%3A' . $domain; getdetail($google_site, 'google_site' , '</b> 个结果,' , ' 个。 (搜索用时' ); getdetail($google_link, 'google_link' , '<font size=-1>约有 <b>' , '</b> 项链接到 <b>' ); //102 } function getdetail($url, $type, $wordf, $wordb) { $pagecontent = @file($url); $pagecontent = implode( '' , $pagecontent); $pagecontent = substr(strstr($pagecontent, $wordf), strlen($wordf)); $pagecontent = substr_replace($pagecontent, '' , strpos($pagecontent, $wordb)); returndetail($pagecontent,$type); } function returndetail($content,$type) { global $seodetail; $seodetail[$type] = empty($content) ? 0 : $content; } ?> |