大约一个月前我发布了我的 PHP Google Grabber 脚本,它大受欢迎,甚至产生了 Python 和 Groovy 版本。通过简单地提供一个域名(或多个,如果你循环函数)来获取在谷歌中索引的页面数量可以节省你很多时间。我每月运行一次这个脚本来跟踪我客户的网站——他们中的许多人使用我们构建的 CMS,因此我可以深入了解他们在 SEO 方面的表现。
虽然雅虎!在搜索部门 Yahoo! 的相关性几乎不如 Google。仍然是互联网上访问量最大的网站。由于我已经构建了代码的基本框架(来自我的 Google Grabber),我认为花一些时间对 Yahoo! 进行处理可能会有所帮助。
代码
/* return result number */ function get_yahoo_results($domain = 'davidwalsh.name') { // get the result content $content = file_get_contents('https://siteexplorer.search.yahoo.com/search?p=http%3A%2F%2F'.$domain.'&bwm=p&bwms=p&fr2=seo-rd-se'); // parse to get results $pages = str_replace(array(' ',')','('),'',get_match('/Pages (.*) /isU',$content)); $inlinks = str_replace(array(' ',')','('),'',get_match('/Inlinks (.*) /isU',$content)); $return['pages'] = $pages ? $pages : 0; $return['inlinks'] = $inlinks? $inlinks : 0; // return result return $return; } /* helper: does the regex */ function get_match($regex,$content) { preg_match($regex,$content,$matches); return $matches[1]; }
用法
domains = array('davidwalsh.name','digg.com','yahoo.com','cnn.com','dzone.com','some-domain-that-doesnt-exist.com'); foreach($domains as $domain) { $result = get_yahoo_results($domain); echo $domain,': ',$result['pages'],' pages, ',$result['inlinks'],' inlinks'; } //davidwalsh.name: 204 pages, 518 inlinks //digg.com: 20,700,000 pages, 14,300,000 inlinks //yahoo.com: 1,290,000,000 pages, 4,650,000 inlinks //cnn.com: 7,510,000 pages, 1,090,000 inlinks //dzone.com: 776,000 pages, 15,000 inlinks //some-domain-that-doesnt-exist.com: 0 pages, 0 inlinks
很像我的 Google Grabber,您可能需要调整连接到 Yahoo! 的方法。基于您的托管环境。 cURL 可能是您的最佳选择。