国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 編程 > Python > 正文

Python實現獲取網站PR及百度權重

2020-02-23 06:20:17
字體:
來源:轉載
供稿:網友

上一次我用requests庫寫的一個抓取頁面中鏈接的簡單代碼,延伸一下,我們還可以利用它來獲取我們網站的PR以及百度權重。原理差不多。最后我們甚至可以寫一個循環批量查詢網站的相關信息。

先說說GooglePR,全稱PageRank。它是Google官方給出的評定一個網站SEO的評級,這個大家應該不陌生。既然是官方給出的,當然有一個官方的接口去獲取它。我們這里就利用官方的接口獲取谷歌PR。

代碼如下:
GPR_HASH_SEED ="Mining PageRank is AGAINST GOOGLE'S TERMS OF SERVICE. Y/
es, I'm talking to you, scammer."

def google_hash(value):
    magic = 0x1020345
    for i in xrange(len(value)):
        magic ^= ord(GPR_HASH_SEED[i % len(GPR_HASH_SEED)]) ^ ord(value[i])
        magic = (magic >> 23 | magic << 9) & 0xFFFFFFFF
    return "8%08x" % (magic)

def getPR(www):
    try:
        url = 'http://toolbarqueries.google.com/tbr?' /
        'client=navclient-auto&ch=%s&features=Rank&q=info:%s' % (google_hash(www) , www)
        response = requests.get(url)
        rex = re.search(r'(.*?:.*?:)(/d+)',response.text)
        return rex.group(2)
    except :
        return None

使用方法:傳入域名,返回PR值

google_hash這個函數只是個算法,算出一個域名類似hash值的一個東西并返回。可以不去管它是怎么實現的,我們主要看getPR這個函數。我們google官方給出的接口是這個:http://toolbarqueries.google.com/tbr?client=navclient-auto&ch={HASH}&features=Rank&q=info:{域名}

{HASH}這里我們就使用google_hash()這個函數,傳入域名,返回它對應的HASH值。比如我們離別歌的域名www.leavesongs.com,它的谷歌HASH是8b1e6ad00,于是構造出來的咨詢網址是:http://toolbarqueries.google.com/tbr?client=navclient-auto&ch=8b1e6ad00&features=Rank&q=info:www.leavesongs.com

訪問它,得到Rank_1:1:0。第二個引號后面的數字是PR,因為我的站是沒有PR的,所以PR為0.

于是,我們使用requests.get()來訪問我們這個構造好的URL,然后獲得類似Rank_1:1:0這樣的結果,最后通過正則或其他方式得到PR值0。

以上是getPR這個函數的執行過程。再看獲取百度權重的過程。

百度權重并不是百度官方給的一個標準,是一些第三方網站計算的一個值,所以并沒有像PR一樣的接口。所以我們就需要抓取這些第三方網站中的信息了。下面是獲取百度權重的函數:
代碼如下:

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 罗甸县| 乐清市| 仁布县| 蒲城县| 平谷区| 广汉市| 塘沽区| 进贤县| 陵川县| 杨浦区| 惠安县| 合肥市| 鄄城县| 彭州市| 博罗县| 南通市| 承德县| 尉犁县| 巧家县| 边坝县| 徐汇区| 丹江口市| 镇平县| 务川| 姜堰市| 秭归县| 苗栗县| 金湖县| 邹城市| 静宁县| 沁源县| 闸北区| 灌南县| 敦化市| 什邡市| 苍南县| 扎囊县| 伊金霍洛旗| 德兴市| 罗平县| 南昌市|