読者です 読者をやめる 読者になる 読者になる

たまにゃんのメモ帳

情報系関連のメモ書きを主に載せていきます。あわよくば他の人の参考になれば...

Googleページランクを取得する方法

プログラミング Python Google

どうやらハッシュ生成方法が重要らしく、GitHubにいいソースコードがあったのでここにメモとして残しておく。
ちなみに"http://www.google.co.jp/"でハッシュ値を生成すると835422419になったので

↓のURLにアクセスすればページランクを見ることができる。
http://toolbarqueries.google.com/tbr?client=navclient-auto&ch=835422419&features=Rank&q=info:http://www.google.co.jp/

# Settings
prhost='toolbarqueries.google.com'
prpath='/tbr?client=navclient-auto&ch=%s&features=Rank&q=info:%s'

def get_hash (query):
    SEED = "Mining PageRank is AGAINST GOOGLE'S TERMS OF SERVICE. Yes, I'm talking to you, scammer."
    Result = 0x01020345
    for i in range(len(query)) :
        Result ^= ord(SEED[i%len(SEED)]) ^ ord(query[i])
        Result = Result >> 23 | Result << 9
        Result &= 0xffffffff 
    return '8%x' % Result

def get_pagerank (query):
    import httplib
    conn = httplib.HTTPConnection(prhost)
    hash = get_hash(query)
    path = prpath % (hash,query)
    conn.request("GET", path)
    response = conn.getresponse()
    data = response.read()
    conn.close()
    return data