欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python實(shí)現(xiàn)獲取網(wǎng)站PR及百度權(quán)重

 更新時(shí)間:2015年01月21日 11:56:01   投稿:junjie  
這篇文章主要介紹了Python實(shí)現(xiàn)獲取網(wǎng)站PR及百度權(quán)重,本文使用傳參的方式請(qǐng)求站長(zhǎng)工具和谷歌工具獲取PR值和百度權(quán)重,需要的朋友可以參考下

上一次我用requests庫(kù)寫(xiě)的一個(gè)抓取頁(yè)面中鏈接的簡(jiǎn)單代碼,延伸一下,我們還可以利用它來(lái)獲取我們網(wǎng)站的PR以及百度權(quán)重。原理差不多。最后我們甚至可以寫(xiě)一個(gè)循環(huán)批量查詢網(wǎng)站的相關(guān)信息。

先說(shuō)說(shuō)GooglePR,全稱PageRank。它是Google官方給出的評(píng)定一個(gè)網(wǎng)站SEO的評(píng)級(jí),這個(gè)大家應(yīng)該不陌生。既然是官方給出的,當(dāng)然有一個(gè)官方的接口去獲取它。我們這里就利用官方的接口獲取谷歌PR。

復(fù)制代碼 代碼如下:

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這個(gè)函數(shù)只是個(gè)算法,算出一個(gè)域名類似hash值的一個(gè)東西并返回??梢圆蝗ス芩窃趺磳?shí)現(xiàn)的,我們主要看getPR這個(gè)函數(shù)。我們google官方給出的接口是這個(gè):http://toolbarqueries.google.com/tbr?client=navclient-auto&ch={HASH}&features=Rank&q=info:{域名}

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

訪問(wèn)它,得到Rank_1:1:0。第二個(gè)引號(hào)后面的數(shù)字是PR,因?yàn)槲业恼臼菦](méi)有PR的,所以PR為0.

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

以上是getPR這個(gè)函數(shù)的執(zhí)行過(guò)程。再看獲取百度權(quán)重的過(guò)程。

百度權(quán)重并不是百度官方給的一個(gè)標(biāo)準(zhǔn),是一些第三方網(wǎng)站計(jì)算的一個(gè)值,所以并沒(méi)有像PR一樣的接口。所以我們就需要抓取這些第三方網(wǎng)站中的信息了。下面是獲取百度權(quán)重的函數(shù):

復(fù)制代碼 代碼如下:

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

使用方法也是傳入域名,返回權(quán)重值。

我抓取的是站長(zhǎng)工具的一個(gè)權(quán)重咨詢的頁(yè)面:http://mytool.chinaz.com/baidusort.aspx?host={域名}&sortType=0

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

好了,我們來(lái)批量獲取一下這些網(wǎng)站的PR和權(quán)重:

直接看結(jié)果:

單一一個(gè)進(jìn)程掃的話速度會(huì)略慢,開(kāi)10個(gè)20個(gè)線程批量獲取的話應(yīng)該比較快。

相關(guān)文章

  • Python通過(guò)cv2讀取多個(gè)USB攝像頭

    Python通過(guò)cv2讀取多個(gè)USB攝像頭

    這篇文章主要為大家詳細(xì)介紹了Python通過(guò)cv2讀取多個(gè)USB攝像頭,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2019-08-08
  • Python DataFrame 設(shè)置輸出不顯示index(索引)值的方法

    Python DataFrame 設(shè)置輸出不顯示index(索引)值的方法

    今天小編就為大家分享一篇Python DataFrame 設(shè)置輸出不顯示index(索引)值的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2018-06-06
  • 解決Numpy與Pytorch彼此轉(zhuǎn)換時(shí)的坑

    解決Numpy與Pytorch彼此轉(zhuǎn)換時(shí)的坑

    這篇文章主要介紹了解決Numpy與Pytorch彼此轉(zhuǎn)換時(shí)的坑,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2021-05-05
  • python Socket之客戶端和服務(wù)端握手詳解

    python Socket之客戶端和服務(wù)端握手詳解

    這篇文章主要為大家詳細(xì)介紹了python Socket之客戶端和服務(wù)端握手,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2017-09-09
  • python 安裝庫(kù)幾種方法之cmd,anaconda,pycharm詳解

    python 安裝庫(kù)幾種方法之cmd,anaconda,pycharm詳解

    在python項(xiàng)目開(kāi)發(fā)的過(guò)程中,需要安裝大大小小的庫(kù),本文會(huì)提供幾種安裝庫(kù)的方法,通過(guò)實(shí)例截圖給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下
    2020-04-04
  • Python取出字典中的值的實(shí)現(xiàn)

    Python取出字典中的值的實(shí)現(xiàn)

    本文主要介紹了Python取出字典中的值,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-01-01
  • 如何使用Flask-Migrate拓展數(shù)據(jù)庫(kù)表結(jié)構(gòu)

    如何使用Flask-Migrate拓展數(shù)據(jù)庫(kù)表結(jié)構(gòu)

    這篇文章主要介紹了如何使用Flask-Migrate拓展數(shù)據(jù)庫(kù)表結(jié)構(gòu),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2019-07-07
  • 使用Python實(shí)現(xiàn)MP4轉(zhuǎn)GIF

    使用Python實(shí)現(xiàn)MP4轉(zhuǎn)GIF

    在日常生活中,我們經(jīng)常會(huì)遇到需要將 MP4 文件轉(zhuǎn)換為 GIF 文件的需求,本文將介紹一種使用 Python 實(shí)現(xiàn) MP4 轉(zhuǎn) GIF 程序的方法,這種方法簡(jiǎn)單易學(xué),而且完全免費(fèi),需要的可以參考下
    2023-12-12
  • python 字段拆分詳解

    python 字段拆分詳解

    今天小編就為大家分享一篇python 字段拆分詳解,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-12-12
  • Python  OpenCV實(shí)現(xiàn)攝像頭人臉識(shí)別功能

    Python  OpenCV實(shí)現(xiàn)攝像頭人臉識(shí)別功能

    這篇文章主要介紹了Python  OpenCV實(shí)現(xiàn)攝像頭人臉識(shí)別,使用Python 3和OpenCV進(jìn)行攝像頭人臉識(shí)別的基本步驟,本文結(jié)合實(shí)例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2023-07-07

最新評(píng)論