一区二区三区在线-一区二区三区亚洲视频-一区二区三区亚洲-一区二区三区午夜-一区二区三区四区在线视频-一区二区三区四区在线免费观看

腳本之家,腳本語言編程技術及教程分享平臺!
分類導航

Python|VBS|Ruby|Lua|perl|VBA|Golang|PowerShell|Erlang|autoit|Dos|bat|

服務器之家 - 腳本之家 - Python - Python實現獲取網站PR及百度權重

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

2020-05-20 09:25腳本之家 Python

這篇文章主要介紹了Python實現獲取網站PR及百度權重,本文使用傳參的方式請求站長工具和谷歌工具獲取PR值和百度權重,需要的朋友可以參考下

上一次我用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一樣的接口。所以我們就需要抓取這些第三方網站中的信息了。下面是獲取百度權重的函數:

復制代碼 代碼如下:

def getBR(www):
    try:
        url = 'http://mytool.chinaz.com/baidusort.aspx?host=%s&sortType=0' % ( www , )
        response = requests.get(url)
        data = response.text
        rex = re.search(r'(<div class="siteinfo">.+?<font.+?>)(\d*?)(</font>)',data,re.I)
        return rex.group(2)
    except :
        return None

 

使用方法也是傳入域名,返回權重值。

我抓取的是站長工具的一個權重咨詢的頁面:http://mytool.chinaz.com/baidusort.aspx?host={域名}&sortType=0

我的正則就是它:(<div class="siteinfo">.+?<font.+?>)(\d*?)(</font>),大家可以自己查看源代碼看一下,就知道正則怎么寫了。

好了,我們來批量獲取一下這些網站的PR和權重:

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

直接看結果:

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

單一一個進程掃的話速度會略慢,開10個20個線程批量獲取的話應該比較快。

延伸 · 閱讀

精彩推薦
主站蜘蛛池模板: 逼毛片 | 精品香蕉99久久久久网站 | 日本捏胸吃奶视频免费 | 亚洲欧美一区二区久久 | 国内久久精品 | 男人狂擦女人的下面视频 | 秋霞在线一级 | japanesepooping脱粪 | 男男18视频免费网站 | 亚洲欧美日韩国产一区图片 | 99精品国产久热在线观看66 | 精品久久99麻豆蜜桃666 | 波多野结衣小说 | 日韩综合一区 | 亚洲日韩精品欧美一区二区一 | 日本免费三片在线观看 | 青草视频免费观看在线观看 | 国产精品最新资源网 | 青草碰人人澡人人澡 | 万域之王在线观看 | 羞羞污视频 | 歪歪私人影院成人毛片 | 国产国语在线播放视频 | 国产精品久久久久久久久久久久 | 亚洲福利电影一区二区? | 91香蕉依人综合久久 | 日本一区二区视频免费播放 | 亚洲 欧美 国产 综合首页 | 欧美肥b | 亚洲国产精品久久网午夜 | 天天色色色| 国产性tv国产精品 | 极品虎白女在线观看一线天 | 99亚洲视频 | 91av最新地址| 男人和女人上床 | 成年人免费看的视频 | 黄网在线观看免费网站台湾swag | 国产高清免费午夜在线视频 | 欧美无专区 | 97导航|