php利用altavista来实现正在与你站点链接的个数
altavista是全球著名的搜索引擎之一,php利用altavista来查询链接站点的在线个数:一个网站最重要的组成部分可能就是与你链接的站点的个数,比如我们的外链数,包括友情链接的查询,当然都是在线状态,最后总结出来有多少个正在与你的站点进行链接,这个教程将向你显示一个使用AltaVista 搜索引擎来实现的简单方法。其实更适合英文站点,毕竟这个搜索引擎不是中文的,对于中文的判断并不是很准确,本来想研究一下百度的,苦于时间不充实,实际在php中的应用不大,这里随便的介绍下,可忽略掉,先看看实现的方法, 首先,我们需要准备在脚本中使用的URL 。这个可以使用:
http://www.altavista.com/cgi-bin/query?kl=XX&pg=q&text=yes&q=link%3A<待查的URL>&search=Search。
应该知道这是AltaVista的一个文本版本。这样可以节省我们大量的需要解析HTML的代码。接着,我们需要确切的URL。我们应该使用rawurlencode()来处理URL保证Altavista能够正确地处理它。
<?php $url = 'https://www.xiariboke.net'; $url_encoded = rawurlencode($url); $url_to_check = "http://www.altavista.com/cgi-bin/query? kl=XX&pg=q&text=yes&q=link%3A$url_encoded&search=Search"; ?>
现在我们有了我们需要的全部的URL 。到了我们抓回URL 的时候了。这步工作是通过使用file()函数。
<?php $url = 'https://www.xiariboke.net'; $url_encoded = rawurlencode($url); $url_to_check = "http://www.altavista.com/cgi-bin/query? kl=XX&pg=q&text=yes&q=link%3A$url_encoded&search=Search"; $alta_search = file($url_to_check); ?>
现在我们所抓回的文件已经存放在数组$alta_search中。我们现在要在数组中查找我们想要的文本。我们想要的文本就是"About (.*) pages found. "。(.*)表示在两个单词之间的任何东西。而且,如果没有人链接我们的URL,AltaVista将显示"AltaVista found no document matching your query."。因为我们想知道多少个人正在与我们的URL进行着链接,那段文本将被看作0个人链接。
<?php $url = 'https://www.xiariboke.net'; $url_encoded = rawurlencode($url); $url_to_check = "http://www.altavista.com/cgi-bin/query?kl=XX&pg=q&text=ye s&q=link%3A$url_encoded&search=Search"; $alta_search = file($url_to_check); for ($i = 0; $i < count($alta_search); $i++) { if(eregi( "About (.*) pages found.", $alta_search[$i])){ $how_many = eregi_replace( " About (.*) pages found.", "\1", $alta_search [$i]); }elseif(eregi( "AltaVista found no document matching yo ur query.", $alta_search [$i])){ $how_many = '0'; } } ?>
为了使用上面的处理结果,你可以加入这句代码来打印我们的查找结果:
echo "$how_many people are linking to $url";
这个功能应该很多人可以用得上!
这么牛叉,好好学学。
前来看看博主,不知道博主是否愿意加入我们的独立博客大全,同时加入我们的博主交流群一起和大家交流。
博主,我飘过了
又学新知识了,都是不知道的呢。
实用,高端,来学习学习。
来看看,多学习。
高端大气上档次,低调奢华有内涵。
实用啊!
实用,期待多多分享
这个东西挺实用的。之前站长工具可以查反链的,不知道从什么时候开始就不行了..
看来以后得常来这学习了~