用php来查询百度或google的收录情况,其实并不复杂,只需要file下远程文件,然后分析相关数据即可。
以下是收录查询核心代码,getdetail函数也可以这样写,用正则去匹配:
$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);
完整代码:
<?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; } ?>