Posts Tagged ‘alexa’

IP/WHOIS/Alexa查询工具zQuery.com

星期五, 九月 12th, 2008

隆重向大家推荐一款强大的IP/WHOIS/Alexa/Google Pagerank等查询工具-zQuery.com

zQuery提供了Alexa查询 | Google PR查询 | 网站收录 | IP/域名定位 | IP Whois | 域名 Whois | 服务器信息 | 代码加密 等服务。现在我简单地介绍一下。

Alexa查询
提供了Alexa排名、网站信息(站长、邮件、地址、电话)等功能。获取Alexa数据的方法在这里,接下来用PHP里面的preg_match() 函数提取一下就OK了。比较可惜的是,现在还没有找到Alexa网站缩略图的接口,以及访客国家比例等数据,估计要寻找收费的AWIS服务才提供。另外,Alexa图片调用的功能也即将推出。

Google PR查询
老掉牙的功能了,不过还是要推出一下。目前还提供了7种风格的图片调用,全站PR查询的服务也在计划表之内。

网站收录
提供了Google,百度,搜狗,有道等国内国外常见7种搜索引擎的收录数据。并且每日保存数据,届时将推出历史统计功能。

IP/域名定位
输入IP或网站的域名查询所属的物理地址。数据源来自纯真数据库。

IP Whois / 域名 Whois
查询网站或域名的IP Whois。域名WHOIS目前提供了包括COM/NET/ORG/CN等国内国外常见约100种顶级域的域名WHOIS信息,我敢说绝对比万网的数据还全!域名Whois是提供该域名的使用者的信息,比如IP定位中用到的物理位置就需要参考这个结果。

服务器信息
王牌服务了 :) 估计国内还没有提供这个功能的网站吧?输入某个服务器的IP或域名,记住一定要Web服务器,也就是使用80端口的哦。查询结果可以知道这个服务器用的软件(Apache或IIS)、支持的语言(ASP.NET或PHP)等一些常用功能。

zQuery由于是设立在美国的服务器,所以无论查询Google PR还是Alexa信息,或者是WHOIS信息都是相当快,另外还大量使用了缓存技术,所以调用PR图片的时候一点也不觉得会影响网络速度。更多服务还在策划中,欢迎提供意见建议 :)

Alexa作弊刷排名

星期天, 八月 31st, 2008

前几天谈到我所在的服务器因为调用次数过多被Alexa给屏蔽了,于是我就琢磨着该如何来破解Alexa工具条,顺便作弊一下。尽管Alexa是一个“恶评软件”(360安全卫士50%以上的恶评率),可是就为了一个没有什么意义的数字,许多人还是乐此不疲,国内也有很多依靠Alexa破解赚钱的呵呵 :)

Alexa工具条主要依靠HTML和Javascript来工作,而数据也以明文的形式传送,为破解提供了可乘之机。

要破解Alexa工具条,当然先下载一个原版的Alexa工具条,上官网,下载来,先别装。这里要装一个网络探测器——网络特工,它能探测到本机与其他服务器联机时所有的操作,用这个工具就可以探测到Alexa客户端和服务器到底发送了什么数据。

装好探测器,让它进入工作状态,不难。接下来是安装Alexa工具条,很快的。这里说一下为什么要先装探测器再装工具条。刚开始的时候,我以为Alexa工具条装好后,会对工具条进行初始化,从服务器弄一些唯一ID之类的。(后来证实并非如此)

装好工具条,打开IE,(IE7可能会弹出安全警告,点允许),这时候Alexa仍然没有向服务器联系。随便输入一个 www.baidu.com (应该选比较简单的页面比较好,如果选www.sina.com.cn,首页数据一大堆,想要找到Alexa发出的数据眼睛会累坏的,如果自己在网站上建一个空白页面就更好了)

找到一个开头为

GET /data?cli=10&dat=snba&ver=7.2&cdt=alx_vw%3D20%26wid%3D3845%26act%3D00400000000%26ss%3D1024×768%26bw%3D1018%26t%3D0%26ttl%3D0%26stc%3D%26vis%3D1%26rq%3D0&stc&url=http://www.baidu.com/ HTTP/1.1

没错,这就是Alexa发出的数据。这个数据有一部分被 urnencode 了,用PHP的urldecode解密函数解密一下,变成:

GET /data?cli=10&dat=snba&ver=7.2&cdt=alx_vw%3D20&wid=12558&act=00000000001&ss=1024×768&bw=1018&t=1&ttl=569&vis=1&rq=1&url=http://www.baidu.com/ HTTP/1.1

网上已经有很多文章讲了各个参数的意义,这里就再重复一下,如果你自己要伪造ALEXA数据刷排名的话也好用上。

cli固定,未知;
dat固定,未知;
ver版本,我已知的有 7.0,7.2,当然也有很多别的了;
cdt固定,未知;这里是cdt=alx_vx=20,我不清楚这样的数据构造是否违反了相关的标准,所以把=仍旧用 %3D 取代;
wid是随机字符,大概是一个4-5位的数字,在当前页面内,每个网站的wid是一样的,不同网站随机发送;
act是窗口状态,我见过的有 00000000000 ,00400000000,00000000001,根据我的判断,00400000000是浏览器输入地址,00000000000是网站内的点击链接,比如进入百度后进行搜索,00000000001是网站间的链接,比如在百度里搜Google,点击链接进入Google,还有人说只有 00000000001 才能提高Alexa排名,如果想要作弊,最好能够多几个循环一下,以免被Block;
ss分辨率大小;
bw浏览器宽度(浏览器宽度小于分辨率宽度);
t,有朋友说输入网址为0,点击页面链接为1,但我从百度点击链接至Google时也为0;
ttl,从客户端连接服务器的时间,可以随便填,当然,如果你填的数值越小,你在Alexa信息中的速度越快,但也可能会被alexa认为作弊,最好是在500到1000之间随机吧;
vis,是否显示工具条,当然为1咯;
rq,又一个比较模糊的概念,有人说是当前窗口的浏览页数(PV),那么发送数据时最好来个0-10之间的递增,不要递增到底,否则又有作弊的嫌疑了;
url,当前访问的网址,千万要完整的URL,否则就露馅了,在传送的时候最好用 urlencode 加密一下,以免出现服务器400错误;

可能有看过我以前写过的一篇Alexa排名调用的文章会怀疑,怎么这里没有出现AID?这正是关键,事实上,Alexa在安装完后并没有注册AID,而是在第一次使用Alexa时调用上面的页面,在返回的结果中放入AID,再下次浏览时就要加上该参数了,比如第一次调用,以访问www.baidu.com为例,返回的结果中有这样一行
<ALEXA VER=“0.9″ URL=“photozero.net/” HOME=“0″ AID=“=”>
里面有个AID,如果是第一次调用,AID这里就会有一个14位数的随机ID,如u99K81VVIpa1Oe,所以我们的作弊应该是这样的:第一次在没有AID的情况下调用,返回结果中会出现一个AID,把AID提取出来,用文本记录下来,下次调用时判断AID是否存在,存在就发送一个含有AID的请求,特别要注意的是,每次调用时还要判断AID是否是=符号,因为据Alexa作弊高手反应,一个AID用了一段时间后可能服务器会发送一个新的AID,如果发现AID更新了,当然要把更新的数据重写咯 :) 你也许有疑问,一直不写AID,一直都是第一次访问不就得了?如果你在本地上,用ADSL拨号上网,IP每次换,还是可以的,但你要是在服务器上这样做,当心了,服务器可能会被Alexa封掉的,就像我上次一样。

得到了一个新的AID以后就应该这样发送请求了:
GET /data/u99K81VVIpa1Oe?cli=10……&url=http://www.baidu.com/ HTTP/1.1

在HTTP请求头中,Alexa工具栏还加了一些代码
Accept: */*
UA-CPU: x86
Accept-Encoding: gzip, deflate
如果要获取新的AID,还应该加入一行
User
由于这个网络探测器似乎不能探测发送的COOKIE和User-Agent,所以还得想别的办法:

User-Agent就是当前浏览器的信息了,最好伪造一个Win XP + MSIE 7之类的,别忘了加上 Alexa Toolbar字样。如
User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0; Alexa Toolbar)

COOKIE是Alexa作弊的难点,打开IE的COOKIE目录下,找到一个类似于 xxx@alexa[x].txt(可以搜索一下包含alexa字样的TXT文件就应该是了) 这样的文件,这个文件里保存了要发送往Alexa.com的COOKIE信息;其他几个数据就不说了,有个 twym65 的参数是破解的重点。

按网上的说法,twym65里面包含了最近访问的5个站点的信息,如果没有发送“twym65”,Alexa会认为你永远都是第一次访问,如果每次发送同样的“twym65”,Alexa还以为你从来只访问这几个网站呢,作弊能成功吗?

看twym65这个数据,事实上是把每个域名经过特殊的加密后,用 %2521 分割出来,%2521也有可能是 %xxxx ,这个规律还未知;总之就是 用 % 加上4位数字就对了,每个域名是如何加密的,这需要破解Alexa才知道,不过我也不会什么反汇编,用个简单的方法可以知道每个加密值对应的域名。你多访问几个网站,再用IE打开 http://www.alexa.com/data/details/traffic_details/photozero.net ,域名可以随你写了,找到左边的“Recently Viewed”的历史浏览记录,看到没,也正好是5个!现在找他们的对应关系也不难吧,随便把一个值给篡改一下就知道某个域名对应的加密值了。

现在要做的就是浏览100个网站(如果你以刷Alexa为生,卖它100个服务,如果是自己刷,也顺便帮163,sina,baidu这些刷一下),每浏览5个网站搜集一组加密值,现在你的数据库中一共有了100个网站加密值,你要做的就是每次请求时对刚才的请求做一点点修改,不能全部修改哦!最重要的是,当前的COOKIE中一定要包含请求的网址的加密值,否则就露馅了。为什么要找100个网址,如果你只刷你自己的5个网站,每次都是这几个网站,能不露馅吗?

好了,请求的数据也构造好了,现在看你要如何刷了,脚本能用PHP最好,此外,IP方面,总不能一直用一个IP吧,这里当然是要用ADSL动态IP的好,每次用PHP,查询10次吧,然后掉线重播,更换IP,如此反复,有朋友说,10分钟就能刷到10W名!配合按键精灵,万岁!

不过我自己也没有在本地上做过作弊测试,我的PHP脚本也还没写好,等写好了发布出来大家一起作弊 :)

Alexa封锁本服务器

星期五, 八月 29th, 2008

我曾经很天真地做了一个Alexa排名查询图片的服务,没想到由于我的博客以及使用该服务的人大量调用这个服务,每次调用一次图片都要连接Alexa服务器,导致我的服务器被 Alexa blocked 了。我的博客下方的Alexa显示图片以及Blog-info-Display插件均受到牵连。

Alexa在页面中给我一个Unblock页面的地址,登上去看到:“We’re sorry but you do not have permission to access data.alexa.com/. Your IP address, XXX.XXX.XXX.XXX, has been blocked due to a possible violation of our Terms of Service.” 果然,我过于频繁的调用让Alexa服务器知道我把Alexa私自二次开发了。Alexa让我去看他们的TOS页面,我自然是看不懂一大堆鸟语,但不用脑子想都知道他们是绝对不允许非授权的调用的,毕竟人家推出了Alexa Web Information Service ,收费的,挺贵的,如果允许免费调用,他的生意也不用做了。

可是我就是不甘心,我还是挺希望每天能看到自己的Alexa排名的,而我又不想用Alexa Toolbar ,至于为什么,大家想也知道,如果你装了一个插件,只为了看到一个6位数字,却严重拖慢网页浏览速度,显示一大堆你不感兴趣的东西,谁会愿意呢?

我决定还是冒着违反Alexa条款的风险,完善我这个Alexa排名查询器。 :) 我做一个查询器只是免费的小工具而已,国内那么多做Alexa查询都靠它来赚钱呢。

想一想应该如何突破这个问题,首先是IP的问题,先前是由于该IP的频繁调用导致被封的,我首先想到的就是国内那些同样做Alexa查询的网站,他们照样应该是更频繁的调用的,为什么不会被封锁?既然Alexa会记录调用次数,那么每天查询的量不要超过Alexa系统上限就应该没有问题的,以我目前的使用情况来看,每天的调用次数应该在500左右,连接500次Alexa服务器而已,不至于那么小气就给封了服务器吧?

“伪造”服务器IP是我第一个想到的方法,查了一下资料,很遗憾,这是一相情愿。服务器页面获得的 “REMOTE_ADDR” ,也就是访客IP地址,是不可能伪造的,这是TCP/IP协议的特点决定的。当客户端与服务器连接时,发出自己的IP地址及HEADER等信息后,到达某个网关,网关会先向这个IP地址再次返回一个确认信息,确认这是一个有效的IP地址,才向服务器进行连接。(这是我看了资料后自己的理解)否则的话,某个别有用心的人,一秒钟内伪造几千万个IP地址对服务器请求,服务器岂不是一下就遭受DDOS攻击了?

伪造IP地址的另一个做法是在HEADER插入”X-Forwarded-For: 127.0.0.1″ 信息,这是一个代理服务器所使用的显示访客真实IP地址的数据,经过测试发现,Alexa服务器并不吃这一套。

既然伪造IP不成,就应该从缓存下手,要知道,现在真正使用这个服务的不过我这个博客而已,既然每次都是调用相同的信息,为何不再服务器缓存信息呢?而且Alexa的数据更新也慢,大约1个星期才更新一次数据,如果了解一下Alexa更新数据的时间,完全可以设置数据的缓存期限,这样做一个服务也就不会因为过多的服务器调用而被封IP了。这个想法我得考虑考虑,说起来实践也不会很难,但很多朋友都可能会说:“你做这个玩意是不是无聊了点”,或“把时间拿来做这个不如做别的有意义点的”,我还真得考虑一下。

还有一个漏洞就是我曾经说过的,Alexa服务器的调用数据里包含了浏览器、系统信息等,很有可能是因为我每次调用的时候放入的都是同一个信息,而且我设置的USERAGENT只是一个普通的Win VISTA+IE7的信息,并没有包含Alexa Toolbar信息,这必然引起了Alexa服务器的怀疑,我想如果我在USERAGENT和URL构造方面伪装得好一点,Alexa服务器可能就拿我没办法了吧,总不能因为“某个访客”24小时在网上逛,就认定他是一个ROBOT吧?这个我还得装一个抓包工具对Alexa工具栏与服务器的通讯好好研究研究 :)

其它:
1.Blog-info-Display插件:如果只是个人使用完全不会影响的,因为这个插件会自动缓存数据的,每3天更新一次数据,不必担心被Block。(如果你的博客恰巧和我在同一个服务器上,还真抱歉 :(
2.Google PR的图片我也是一直这样调用的,但似乎Google这方面放得比较松,因为Google现在有意放宽了PR查询的接口,虽说没有公开的文档说明它的使用方法,但也默认了那么多的PR图片调用,PR查询的网站的存在了。

Blog-Info-Display博客信息显示插件

星期天, 八月 10th, 2008

在管理后台首页显示您的Google Pagerank,Alexa Rank,以及Technorati Rank排名,每三天自动更新一次。插件所用的函数都是我先前介绍的 如何获取Alexa排名数据调用Google PageRankTechnorati API教程 中介绍过的。应Dianso 朋友的要求,即将在下面的版本中推出 Google , baidu收录查询。如果您还常关注博客的某些数据,您也可以告诉我一下,我争取把它整合到这里来。

另,该插件已经获得Wordpress官方插件目录的审核通过,但由于测试尚未完善,暂未发布到官方目录。希望朋友们使用后把情况反馈一下。待该插件正式发布后,您就可以在后台一键升级了 :)

下载:
Blog-Info-Display BETA 1.0

谢谢支持 !

如何管理链接

星期六, 八月 9th, 2008

很多做博客的朋友肯定也有和我一样的想法,在刚做博客的时候,你的博客没有GooglePR,没有Alexa排名,没有流量和人气,于是你会想方设法地去找一些PR、排名比你高一些或是相似的博客交换链接,当然,为了交换链接,你可能会不顾及对方的博客是什么性质,不管他的主题是什么,不管他的内容是原创还是全部转摘,仅仅就看重了他那PR3或PR4,就交换了链接,如此以来,你可能就交换了三五十个链接。

随着你的博客的文章的增多,访客的增长,你会惊奇地发现你的Google Pagerank和Alexa排名在不断上涨,你的文章也常有人回复了,整个博客看起来很热闹的样子。这时候你也许还想更进一步,去找一些PR更高的博客交换链接,但肯定会被目前过多的博客链接所限制,这该怎么办?

也许这时候你就会去看看那些朋友的链接,如果他的博客早早没有更新,或不能访问了,你会把他的链接删除了,又或是那些PR很低,没有原创文章的博客,你统统将他们删除了。但这样做往往会引起他们的不满,他们会认为你是忘恩负义,没有道德之类的,这着实是一个棘手的问题。

按照我的理解,交换链接应该是基于有共同爱好、或者内容互相补充、PR等数据门当户对才是有意义的链接。但现在很多博客不是这样,他们完全是冲着你的PR来的,如果你的PR为0,他们不屑一顾,如果有2以上,他们就会装作热心的网友在你的某篇文章后面留个言,说“博主交换链接可以吗?我的地址是xxx,你的链接我已经做好了”,如果你把这句话输入Google中搜索一下,你会发现这句话很能会有几十甚至几百个结果,你去他的网站一看,这是一个完全的复制内容的站点(又或是推销某种东西的站点,行话俗称“垃圾站”),他们没有自己的内容,仅仅是为了获得你的PR而与你交换链接,在交换链接后,也许他就再也不会光临你的博客了,直到他的博客赚够了钱,懒得续费了,关门为止。

还有一些博客,你曾经是冲着他们的一点PR去的,但你努力到今天回头去看他们的博客,也许PR比当初还降了,文章也多是转摘之类的软文了,你会作何感想?

说到这里,有些朋友可能会怀疑我们做博客究竟是为了什么?为什么要被这些七七八八的问题给弄糊涂了?我个人认为,做博客就像一个当官的人一样,应该是一步一步往前走,今天PR有2了,我就应该盼着下次能有3,即便现在已经有5(在博客里应该算比较牛B的)了,我要向6,甚至7看齐;就像当官的想升科长、科长想当局长一样。这些数据是客观的,但它在一定程度上反应了你的努力程度。无论你是做一个指导别人赚钱的半商业博客,还是像我这样一个主要写技术的博客,或者是一个随便记录生活的博客,都是希望有人捧场,有人留言,有人订阅你的博客。我们既然希望看到自己的努力,那么Google Pagerank,Alexa这些数据就是一个很好的体现。

现在ThinkAgain大哥想到了一些解决问题的办法,他最近做了个插件Hot Friends,该插件是根据友情链接在一段时间内在本博客的留言情况显示链接的,比如一个经常来访问你的博客,并经常留言的朋友,他的友情链接就会显示出来,而一个从来不在你的博客留言的,则可能被“埋”下去。同时这个插件还可以自动把一些经常留言、但尚未添加到Blogroll中的朋友自动添加到友情链接中,使用这个插件可以极大地调动访客留言的积极性(特别是你的PR比较高,那留言数就应该呈指数增长了)。有需要的朋友请移步到他的博客上去查看仔细的说明并下载。

我试用了这个插件,发现插件尚有未成熟的地方,故目前既保留了原本所有的链接,又显示了这个插件,到这个插件差不多成熟了后再正式使用这个插件。

数据背后

星期五, 八月 8th, 2008

这两天登陆博客惊喜地发现我的Alexa排名已经一举杀入了全球64W名。包括我历史上曾经做过的某个垃圾站在内,这是我管理的网站的最高排名,Happying!

这一年来,我只经营了这个博客,由于我面临着高考升学的压力,也没时间去搞一些看似很有意义的Web2.0网站。如果我满怀信心地去做,做完后我就发现,某些创意我想到了,却不知道别人更早就已经做出来了。。然后我就把在互联网上的全部精力投入到运营这个博客中去,不知不觉就接近一年了。记得我半年前还写过一篇小结,没想到又一个半年快过去了。

这里讲讲我博客目前的数据,首页Google Pagerank值2,Alexa排名 644968,Technorati博客排名 276498。这是我用了我自己瞎弄的Blog_Info_Display后,每天登陆管理后台首页就可以看到了。这个插件前两天已经通过了Wordpress官方主题站的Hosting申请,但我暂时还没有时间去发布,过两天奥运会放假空闲些就发布出来。

首先想说的是Alexa排名。这个插件我想还真是多亏了我的ALEXA的排名图片调用功能。要不也不可能在1个月内从100多W名开外直接冲到64W名。但我这个插件目前还有略微不足的地方就是向服务器请求数据时每次都是同一个接口,服务器必然以为所有的访客每次都用同一个系统,同一个浏览器,同样的分辨率(甚至同一IP),如果还不进行优化,也许再前进个十万名就有可能被Alexa惩罚了。下回我在向服务器发送请求时一定要弄个随机变量欺骗一下服务器。有可能的话,还要实现客户端的Alexa调用。

我怀疑我这性质恐怕接近于Alexa作弊了,但相比那些真正刷Alexa排名的,我还算厚道了吧。起码我的初衷不是为排名而排名,而是让我的浏览者客观地了解到他们所浏览的博客。

再谈到Google Pagerank,我一直在怀疑它是否真正能够代表网页重要性的评级?

据我的了解,国内PR上8的似乎只有www.miibeian.gov.cn,www.gov.cn以及www.baidu.com,www.google.cn(算半个国内网站),这是无可争议的。但相比于英文站的PR值,中文网站的PR值明显偏低。这当然是Google的母语崇拜在作怪。miibeian的PR值很高,肯定要感谢它独有行政资源了,但它的PR也才9而已,相比国外一些网站,如美国航天总署的NASA.GOV,它的PR就已经是9,而它的外链仅仅才10000多个,而MIIBEIAN已经有21700个(这还是Google的数据,百度那就更不得了了)

据我看来,Google PR对非英文网页有明显的偏见。另一个证据就是,我曾经要做的某个网站,后来一直没做,晒在那里,只是用E文写了几行字,后来PR就升到2,另一个更绝,只写了“Coming soon”,由于与那个PR2的站链接,PR居然也有1。

此外,Google对于网站重要性的判断过于死板。只认准了PR高的站与之交换链接的就一定是好的站,其实不然。上回听说了国内有不少的博客、小型网站的PR都有6甚至7,当我找到其中一个PR为7的博客去访问的时候,我感觉他的PR为1或2更合适。从100多篇的文章数量可以看出,这个网站经营历史并不久,并且多为软文,我怀疑除了他写的“本站PR上7”这篇文章以外其它的究竟有没有价值?同样的事例可以说数不胜数。

当然,我也不是非得要抱怨Google如何不公,我想如果我的PR到4甚至更高的时候,也许也有人会说,你这个破站PR也就2吧。

如何获取Alexa排名数据

星期一, 七月 28th, 2008

上回说到Alexa的排名数据来源于Alexa工具条,所以排名数据并不十分准确,特别是对于中文网站来说,国内装Alexa工具条的多是被某些网站“误导”的用户以及一些网站站长,所以很多人也对Alexa数据不以为然。在目前情况下,Alexa的排名还是和Google PR一样被广告商们看重的数据和作为衡量网站广告投放价值的依据。

这里讲讲如何获取Alexa的数据排名。最简单的莫过于装上Alexa提供的工具条了,Alexa提供了Firefox和IE的版本,但纯粹为了看一个网站的排名而安装这个插件显得有点浪费资源。我在Firefox浏览器用的是SearchStatus这个插件,这个插件同时显示了Google PR和Alexa排名,占用位置也不大,用起来比较方便。

本文着重要讲的是如何使用从Alexa的服务器下载数据,并进行分析后应用于WP插件或提供给访客(如 http://alexa.chinaz.com/这样的服务)。Alexa官方提供了收费的API接口,每千次查询$0.15(上回凭印象说是$0.1,更正一下),既然要收费,肯定没有多少人愿意花这钱了,特别在我们中国人看来更是难以理解,照理说用你Alexa的数据应该是相当给你面子,给你人气,你还要向我收费?还好早就有人破解了Alexa工具条(貌似很多国内网站强迫要求下载的Alexa工具条还经过改装,拥有木马功能了),并把它的服务器接口盗取出来分享给大家了。

接口一:

http://data.alexa.com/data/+wQ411en8000lA?cli=10&dat=snba&ver=7.0&cdt=alx_vw=20&wid=12206&act=00000000000&ss=1680×1050&bw=964&t=0&ttl=35371&vis=1&rq=4&url=http://www.baidu.com

接口二:

http://data.alexa.com/data/TCaX/0+qO000fV?cli=10&dat=snba&ver=7.0&cdt=alx_vw=20&wid=31472&act=00000000000&ss=1024×768&bw=639&t=0&ttl=4907&vis=1&rq=23&url=http://www.baidu.com

接口三:

http://data.alexa.com/data/ezdy01DOo100QI?cli=10&dat=snba&ver=7.0&cdt=alx_vw=20&wid=16865&act=00000000000&ss=1024×768&bw=775&t=0&ttl=1125&vis=1&rq=2&url=http://www.baidu.com

接口四:

http://data.alexa.com/data/+wQ411en8000lA?cli=10&dat=snba&ver=7.0&cdt=alx_vw=20&wid=12206&act=00000000000&ss=1680×1050&bw=964&t=0&ttl=35371&vis=1&rq=4&url=http://www.baidu.com

事实上,分析一下这些地址可以看到它已经将用户的浏览器信息,系统信息等发送给了服务端。

ezdy01DOo100QI是aid。
“cli=10&dat=snba&ver=7.0&cdt=alx_vw=20&”这部分是固定值。
wid是个随机数。
act数据包含了Alexa Toobar功能的被使用情况。
ss很明显是屏幕分辨率了。
bw是IE窗口的宽度。
t取值是0或1,和当前IE的window对象还有referrer有关。
ttl是当前页面打开速度,和Site Stats中的Speed有关。
vis表明IE是否显示工具条。
rq是对象计数器。

有了这些接口,我们就可以提供Alexa排名查询的服务了。

访问任意上述地址任意一个,查询baidu.com的信息,返回XML文件如下:

  1. <?xml version="1.0" encoding="UTF-8"?>
  2.  
  3. <ALEXA VER="0.9" URL="baidu.com/" HOME="0" AID="=">
  4. <RLS PREFIX="http://" more="315">
  5. <RL HREF="www.3721.com/" TITLE="3 7 2 1"/>
  6. <RL HREF="search.21cn.com/" TITLE="21CN"/>
  7. <RL HREF="itsearch.ccidnet.com/" TITLE="itsearch.ccidnet.com/"/>
  8. <RL HREF="e.pku.edu.cn/" TITLE="e.pku.edu.cn/"/>
  9. <RL HREF="21cn.com/" TITLE="21cn.Com -"/>
  10. <RL HREF="163.com/" TITLE="163.com/"/>
  11. <RL HREF="search.163.com/" TITLE="search.163.com/"/>
  12. <RL HREF="dir.sohu.com/" TITLE="dir.sohu.com/"/>
  13. <RL HREF="cn.search.yahoo.com/" TITLE="cn.search.yahoo.com/"/>
  14. <RL HREF="yahoo.com/" TITLE="Yahoo!"/>
  15. </RLS>
  16. <SD TITLE="A" FLAGS="DMOZ">
  17. <TITLE TEXT="Baidu.com"/>
  18.  
  19. <ADDR STREET="The Ideal International Bldg, 12th floor" CITY="Beijing 100080,  " STATE="" ZIP="" COUNTRY="CHINA" />
  20. <CREATED DATE="11-Oct-1999" DAY="11" MONTH="10" YEAR="1999"/>
  21. <PHONE NUMBER="+86 1082607100"/>
  22.  
  23. <OWNER NAME="Baidu.com, sillyser"/>
  24. <EMAIL ADDR="baidu_dns_master@baidu.com"/>
  25. <LANG LEX="zh-CN"/>
  26. <LINKSIN NUM="58665"/>
  27. <SPEED TEXT="1062" PCT="82"/>
  28. <POPULARITY URL="baidu.com/" TEXT="11"/>
  29. <RANK DELTA="-2"/>
  30. <CHILD SRATING="0"/>
  31. <REACH RANK="13"/>
  32. </SD>
  33.  
  34. <KEYWORDS>
  35. <KEYWORD VAL="Chinese Simplified"/>
  36. </KEYWORDS><DMOZ>
  37.  
  38. <SITE BASE="baidu.com/" TITLE="Baidu.com" DESC="The leading Chinese language search engine, provides “simple and reliableâ€? search experience, strong in Chinese language and multi-media content including MP3 music and movies, the first to offer WAP and PDA-based mobile search in China.">
  39. <CATS>
  40. <CAT ID="Top/World/Chinese_Simplified/计算机/互联网络/搜寻/搜索引擎" TITLE="搜寻/搜索引擎" CID="1005774"/>
  41. </CATS>
  42. </SITE>
  43. </DMOZ>
  44. </ALEXA>

开头包括了一些反向链接的网站,中间是网站排名等信息,下面是网站介绍,网站管理员可以向Alexa添加这些信息。如果是比较不知名的小站,如我的http://photozero.net 信息就没有那么全了。

在前面的文章里提到了,调用Neekey API servicesAlexa rank显示图片还会提升Alexa排名,实际上指的就是在调用Alexa数据时,我们是模拟Alexa工具条进行查询的,所以你的博客的Alexa排名自然就提升上去了,不信您试试?我在Firefox里装上SearchStatus插件后,每天访问自己的博客一会儿,眼睁睁看着Alexa排名从300W排名开外冲到目前的110W。

PHP中获取文件排名的方法

  1. $content = file_get_contents('$alexaURL'); //自行将URL放入,如果服务器的file函数没有开启ALLOW_URL_OPEN 选项(如Dreamhost),应该用 fsockopen 等函数替代。
  2. $pattern = '/<POPULARITY URL="\s*(.+?)" TEXT="\s*(.+?)"\/>/'; //在XML中匹配的 <populartity />项里面的数据就是Alexa排名了
  3. preg_match($pattern, $content, $match); //进行匹配搜索
  4. echo $match[2]; //$match[2] 就是排名了。
  5. //如果需要其他信息就自己写个匹配模式,从里面提取出来就行了。当然用PHP提供的XML处理函数也是可以的。

除了在服务端调用进行输出外,做个AJAX调用的查询程序也不错,还节省了服务器资源。下次抽空做个放出来。

Neekey API Services

星期天, 七月 27th, 2008

经过几天的努力,Neekey API services 总算让我搞定了 :)

这个API Services提供了Google Pagerank查询、图片调用,Alexa图片调用,以及上次提到的国旗调用服务等多种免费的Web服务。

扯点题外话,目前虽然网上有很多Google Pagerank,Alexa查询这样的服务,但我总感觉这些服务太商业化了,没有内涵,他们仅仅是关注数字这个表面的东西,而内部那些有价值的东西却很少关注。并且国内的网站都很小气,就拿提供一个Pagerank的图片来说,他们告诉你“不得修改代码,不得去除本站链接,否则永久停止服务,加入黑名单”,是不是很吝啬?我不否认使用他们的“免费服务”就应该给点链接上的回报,但我更喜欢一个开放、自由的互联网,也就是不能强制要求保留链接。这不是一个软件、程序,有GNU或CC之类的版权保护,更何况这个数据源还并非你提供的,怎么就没看见你的页面保留了Google的链接?更可笑的是国内一些“垃圾网站”的版权声明是这样写的

站内软件包含破解及注册码均由网上搜集,若无意中侵犯到您的权利,敬请来信联系我们.

未经本站明确许可,任何网站不得非法盗链及抄袭本站资源;如引用页面,请注明来自 XXX.COM,谢谢您的支持!

请大家看看这是什么强盗逻辑?自个儿到处“盗取”别人的东西,回头就不允许别人“盗取”你的?很可惜,目前国内很多提供Google Pagerank,Alexa这些服务的网站就是这样。而我做这个网站的目的,就是想让更多的博主能够享受Neekey API Services的开放、自由的服务。

从功能上来说,这个服务跟别的网站没有区别,主要就是查询网站的Google Pagerank值,还提供调用图片,一共有6种风格的图标可供选择。

做这个服务还得感谢Dianso的提醒。我原来一直以为调用的那个接口的某个参数是要系统计算的,后来Dianso告诉我,无论查询的网址怎么变,那个参数即使不变也是可以得到结果的,我测试成功后就做了这个服务。

Google 接口:http://www.google.com/search?client=navclient-auto&ch=6-1385476800&features=Rank&q=info:photozero.net

加粗的部分以前是要根据URL计算一个唯一值的,现在随便输入一个2位以上的数字就可以了,看来Google要放开PR的查询了。

网上有所谓的678个服务器的查询结果,其实就是把www.google.com换成不同的Google服务器的IP(如64.233.167.19 ),得到了678个相同的结果,还声称“可以根据不同的服务器返回值预测下次PR变化”。其实Google何止这678个服务器?如果想要,用扫描工具一扫就上千个IP,但实际上那么多IP,恐怕也多数是指向那几台主服务器。既然数据基本一样,又何必浪费Google资源做那么多无用功呢?

如果678个服务器的数据那么吸引人,下回我收集它几千个提供服务哈哈:)

这个是比较有趣的一个服务了。官方虽然也提供了图片调用的服务,但图片款式老土,且是用JavaScript调用,会影响页面打开的速度,所以还是推荐用我这个图片调用服务,纯粹的<img />代码,是不会影响页面速度的。

设计是我的弱项,所以也就用PHP的画图函数随便小弄了一下,看看效果:

分别是标准,古典,活泼风格,具体调用方法可以看演示Documents。下回还会增添更多的风格以及字体,敬请期待哦!特别推荐:活泼风格的图片真是很Cool的,字体会自动倾斜,彩字,而且每次效果都是不一样的。

而且调用这个图片还会提高你的网站的Alexa排名,你信吗?答案下回分解。

把原来存放在 http://photozero/api 的搬迁到 http://www.neekey.com/flag了,效果跟以前是一样的。原来有使用我的插件Reviewers_Info的朋友不用担心,它会自动转向到新地址的。而且我这个插件已经获得了官方Hosting,由于时间匆忙还没来得及发布,发布后您可以后台一键更新了。

  • 即将提供

这里说几个即将提供的服务或者其查询接口。

1.域名/IP Whois查询。虽然这个是纯粹站长用的工具(区别于一般的博客主),不过还是提供一下,而且不会很困难。目前提供这个服务的网站,要嘛速度很慢,要嘛仅仅是“Whois Server Version 1.3”,提供的信息太少,个人觉得万网(http://whois.hichina.com/)的接口是最好的,“Whois Server Version 2.0”,信息完整,速度超快,而且不用验证码。

2.Technorati。上次写了一篇 Technorati API教程,介绍了Technorati API的使用。Technorati的博客信息是比较有用的吧?那就提供博客信息查询服务好了。

3.微型博客链接平台。何为微型博客链接平台?就是一个简单的博客平台,超级简单,只要你的博客上放上一个<a href=”http://www.neekey.com”>Neekey API Services</a>,或者在调用PR图片、ALEXA图片的时候加上A链接,并且有人通过链接点击到这里,Neekey首页就会显示您的网站网址,不信您试试看。这个平台是为了方便大家交换友情链接,提升自己的PR值特别准备的 :)

好了,介绍那么多服务。如果你有自己的博客,还不试试?(只要我这个博客不倒,这些服务就会一直提供下去。也欢迎您提供创意和想法)

Technorati API教程

星期三, 七月 23rd, 2008

最近在做一个WP插件,需要用到一些博客的排名等信息,ALEXA也提供,Technorati也有,但权衡一下,还是决定用Technorati的数据更好。Technorati是一家比较专注于WEB2.0的博客网站,它提供了博客搜索、博客排名、反向链接搜索、TAG归类搜索等服务。相比Alexa的工具条统计,它依据博客的反向链接等数据进行排名,数据更加客观。

选择Technorati更重要的是Technorati提供了完整的API接口以供应用,虽然ALEXA也提供了接口,却是要收费的,似乎是千次查询$0.1,这让大多数非商业应用的人无法接受。当然Alexa也有几个工具栏的接口被破解后可以盗用,不过个人认为Technorati的数据质量要好于Alexa,决定在插件中使用Technorati的数据。

使用Technorati,先要注册一个Technorati账户,接着访问http://technorati.com/developers/apikey.html,免费获取一个API KEY 如 dfe71294d89ebbca982c98ecd73c96d5 ,正常情况下,一个API KEY每天可以查询500次,这对于一个WP插件应该是足够应用了。


API KEY

如何应用?Technorati提供了包括博客信息,博客搜索,博客反向链接在内的多种搜索服务的接口,可以访问这里获得更多信息。


Technorati提供的接口类型

以我需要用到的博客信息为例

访问http://api.technorati.com/bloginfo?key=[apikey]&url=[blog url],其中[apikey]替换为API KEY,[blog url]就是要查询的博客URL,如 http://photozero.net (http:// 可省略),在PHP文件中用 file_get_contents() 或 fsockopen() 等方式访问,获取返回内容如:

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <!-- generator="Technorati API version 1.0" -->
  3. <!DOCTYPE tapi PUBLIC "-//Technorati, Inc.//DTD TAPI 0.02//EN" "http://api.technorati.com/dtd/tapi-002.xml">
  4. <tapi version="1.0">
  5. <document>
  6. <result>
  7. <url>http://photozero.net</url>
  8. <weblog>
  9. <name>零号相册</name>
  10. <url>http://photozero.net</url>
  11.  
  12. <rssurl>http://photozero.net/feed/rss/</rssurl>
  13. <atomurl>http://photozero.net/feed/</atomurl>
  14. <inboundblogs>16</inboundblogs>
  15. <inboundlinks>23</inboundlinks>
  16. <lastupdate>2008-07-20 03:52:34 GMT</lastupdate>
  17. <rank>446726</rank>
  18.  
  19. <authors>
  20. </authors>
  21. </weblog>
  22. <inboundblogs>16</inboundblogs>
  23. <inboundlinks>23</inboundlinks>
  24. </result>
  25. </document>
  26. </tapi>

这里面包括了博客名,博客URL,博客排名,博客RSS地址,反向链接等多种信息,是不是很齐全?

再来一个博客TAG搜索的示范,显示你的博客里有哪些热门TAG,访问
http://api.technorati.com/blogposttags?key=[apikey]&url=[blog URL]
照例把[apikey]替换为API KEY,把[blog URL]替换为 http://photozero.net,就会返回我的博客中的TAG(分类也算在TAG里面了)

  1. <?xml version="1.0" encoding="utf-8"?>
  2. <!-- generator="Technorati API version 1.0 /blogposttags" -->
  3. <!DOCTYPE tapi PUBLIC "-//Technorati, Inc.//DTD TAPI 0.02//EN" "http://api.technorati.com/dtd/tapi-002.xml">
  4. <tapi version="1.0">
  5. <document>
  6. <result>
  7. <querycount>20</querycount>
  8. </result>
  9. <item>
  10. <tag>Free Talk</tag>
  11. <posts>17</posts>
  12. </item>
  13. <item>
  14. <tag>wordpress</tag>
  15.  
  16. <posts>13</posts>
  17. </item>
  18. <item>
  19. <tag>Free_talk</tag>
  20. <posts>9</posts>
  21. </item>
  22. <item>
  23. <tag>Plugin</tag>
  24. <posts>7</posts>
  25. </item>
  26. <item>
  27. <tag>WAP</tag>
  28.  
  29. <posts>6</posts>
  30. </item>
  31. <item>
  32. <tag>PHP</tag>
  33. <posts>5</posts>
  34. </item>
  35. <item>
  36. <tag>Server</tag>
  37. <posts>4</posts>
  38. </item>
  39. <item>
  40. <tag>Mobile</tag>
  41.  
  42. <posts>3</posts>
  43. </item>
  44. <item>
  45. <tag>Baidu</tag>
  46. <posts>2</posts>
  47. </item>
  48. <item>
  49. <tag>Blog</tag>
  50. <posts>2</posts>
  51. </item>
  52. <item>
  53. <tag>Google</tag>
  54.  
  55. <posts>2</posts>
  56. </item>
  57. <item>
  58. <tag>Javascript</tag>
  59. <posts>2</posts>
  60. </item>
  61. <item>
  62. <tag>Yahoo</tag>
  63. <posts>2</posts>
  64. </item>
  65. <item>
  66. <tag>chinese</tag>
  67.  
  68. <posts>2</posts>
  69. </item>
  70. <item>
  71. <tag>DreamHost</tag>
  72. <posts>2</posts>
  73. </item>
  74. <item>
  75. <tag>web20</tag>
  76. <posts>1</posts>
  77. </item>
  78. <item>
  79. <tag>Ajax</tag>
  80.  
  81. <posts>1</posts>
  82. </item>
  83. <item>
  84. <tag>Apple</tag>
  85. <posts>1</posts>
  86. </item>
  87. <item>
  88. <tag>iPhone</tag>
  89. <posts>1</posts>
  90. </item>
  91. <item>
  92. <tag>IP</tag>
  93.  
  94. <posts>1</posts>
  95. </item>
  96. </document>
  97. </tapi>

好了,其他几种应用就不多介绍了,如果有需要应用相关服务的不妨一试。这里推荐一个老外Kailash Nadh写的Technorati API应用的PHP类——Duck Soup,到他主页下载这个库,里面包含了一个应用范本,用这个代码就可以轻松应用Technorati服务了,不用再自己弄一些fsockopen的下载类了。