当前位置导航:炫浪网>>网络学院>>网络应用>>站长指南>>GOOGLE优化推广

获取google pagerank值的研究

今天在网上看到有网站提供显示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=infhttp%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=infhttp%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>inf<>http://blog.iyi.cn/david/[/url]<;/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="inf>http://blog.iyi.cn/david/[/url]" original_value="infhttp%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/[/url]<;/U>
<UE><>http://blog.iyi.cn/david/[/url]<;/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

我觉得所谓的real pagerank可以估算为:Nd+(1-d)
N是在google搜索到的链接到当前网页的网页数,d是google定义的阻尼值。
比如在google中输入link:www.sohu.com得到的结果是:133,000 项,用上面的公式计算得到113050.15,刚好对应到pr值7,也可以根据各个数据段的百分比算出10以内的pr值小数位
其实这样子很容易的到pr值,根本不用那个checksum加密算法

相关内容
赞助商链接