作者:david
本文地址:http://blog.iyi.cn/user/david/archives/2005/01/207.html
今天在网上看到有网站提供显示google pagerank值的功能,听说google已经取消了公开的pagerank显示,只有通过ie google toolbar获得,所以觉得挺有意思,就去研究了一下。
我装上google toolbar抓了一下socket包,得到了如下信息:
GET /search?client=navclient-auto&googleip=O;3812&ch=62544423920&freshness_check=4X0lThsX1_WR7cBSIbnl8&ie=UTF-8&oe=UTF-8&features=Rank&q=info:http%3A%2F%2Fblog%2Eiyi%2Ecn%2Fdavid%2F HTTP/1.1
User-Agent: Mozilla/4.0 (compatible; GoogleToolbar 2.0.114.9-big; Windows 5.2)
Host: toolbarqueries.google.com
Cache-Control: no-cache
Cookie: PREF=ID=3e46a681346bcce2:NW=1:TM=1099618786:LM=1104831026:TB=2:S=8oMV8rWWHE07ngDp
测试了一下,发现只有GET后面的信息和host比较重要,其他的信息可以任意填写
而这其中比较重要的信息是下面这几条:
client=navclient-auto&
ch=0123456789&
features=Rank&
q=info:http%3A%2F%2Fblog%2Eiyi%2Ecn%2Fdavid%2F
client=navclient-auto表示客户端是google toolbar,如果没有这个参数得到的结果是在google中搜索这个网址的结果
ch=0123456789是checksum值,关键中的关键,google对每个网址用特殊算法进行转换后得到这个checksum,google就是靠这个来对它的pagerank进行"加密"的。如果知道了这个算法,获取pagerank就轻而易举了。
features=Rank获取的是pagerank值,我得到的结果是Rank_1:1:1其中最后一位是pagerank的值,如果忽略这个参数得到的是相关网页在google中的详细信息的xml,我得到的是下面的信息:
<?xml version="1.0" encoding="GB2312" standalone="no" ?>
<!DOCTYPE GSP (View Source for full doctype...)>
- <GSP VER="3.2">
<TM>0.124300</TM>
<Q>info:http://blog.iyi.cn/david/</Q>
<PARAM name="client" value="navclient-auto" original_value="navclient-auto" />
<PARAM name="googleip" value="O;907" original_value="O;907" />
<PARAM name="ch" value="62544423920" original_value="62544423920" />
<PARAM name="q" value="info:http://blog.iyi.cn/david/" original_value="info:http%3A%2F%2Fblog.iyi.cn%2Fdavid%2F" />
- <RES SN="1" EN="1">
<M>1</M>
<XT />
- <R N="1" L="1" MIME="text/html">
<U>http://blog.iyi.cn/david/</U>
<UE>http://blog.iyi.cn/david/</UE>
<T>泰然处之- 大卫's BLOG</T>
<RK>1</RK>
<S>泰然处之 - 大卫's BLOG. 2004年12月. 日, 一, 二, 三, 四, 五, 六. 1, 2, 3, 4. <b>...</b></S>
<LANG>zh-CN</LANG>
- <HAS>
<L TAG="link:" />
<C SZ="90k" CID="28N4KopQVykJ" TAG="cache:" />
<RT TAG="related:" />
</HAS>
</R>
</RES>
</GSP>
内容很容易看得明白,这里就不解释了。(难道我得blog被google惩罚了?好久没有更新了-_-)
知道了原理,就来考虑如何解决了。其实google toolbar可以很容易的动态跟踪,懂得汇编的人可以很快的找出它的checksum算法,这当然是最好的解决之道。
另外,如果你不懂得汇编,可以通过历史纪录获得向管链接的checksum值,可以从你的ie临时文件夹中找到。
或者你也可以建立代理服务器,让google toolbar通过代理服务器来获取pagerank值,然后在代理服务器上运行相关程序来截取checksum值。
另外,还找到这个pr值对照表:
Toolbar PageRank Real PageRank
0/10 0.15 - 0.9
1/10 0.9 - 5.4
2/10 5.4 - 32.4
3/10 32.4 - 194.4
4/10 194.4 - 1,166.4
5/10 1,166.4 - 6,998.4
6/10 6,998.4 - 41,990.4
7/10 41,990.4 - 251,942.4
8/10 251,942.4 - 1,511,654.4
9/10 1,511,654.4 - 9,069,926.4
10/10 9,069,926.4 - 0.85 × N + 0.15
相关文章:
google pagerank checksum算法
IYI web stat. system(iyi网站统计系统) 我实现出来的显示pagerank的网站统计小插件
本文地址:http://com.8s8s.com/it/it23650.htm