最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

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

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

先說說GooglePR,全稱PageRank。它是Google官方給出的評定一個網(wǎng)站SEO的評級,這個大家應(yīng)該不陌生。既然是官方給出的,當(dāng)然有一個官方的接口去獲取它。我們這里就利用官方的接口獲取谷歌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這個函數(shù)只是個算法,算出一個域名類似hash值的一個東西并返回??梢圆蝗ス芩窃趺磳崿F(xiàn)的,我們主要看getPR這個函數(shù)。我們google官方給出的接口是這個:http://toolbarqueries.google.com/tbr?client=navclient-auto&ch={HASH}&features=Rank&q=info:{域名}

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

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

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

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

百度權(quán)重并不是百度官方給的一個標(biāo)準(zhǔn),是一些第三方網(wǎng)站計算的一個值,所以并沒有像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)重值。

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

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

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

直接看結(jié)果:

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

相關(guān)文章

  • Python語法學(xué)習(xí)之進程的創(chuàng)建與常用方法詳解

    Python語法學(xué)習(xí)之進程的創(chuàng)建與常用方法詳解

    本文我們將學(xué)習(xí)一下在?Python?中去創(chuàng)建并使用多進程的方法,可以通過創(chuàng)建多個進程來幫助我們提高腳本執(zhí)行的效率,感興趣的可以了解一下
    2022-04-04
  • Python自動化按日期分割日志的多種方法

    Python自動化按日期分割日志的多種方法

    在開發(fā)和運維Python應(yīng)用程序時,日志管理是至關(guān)重要的,不僅幫助我們調(diào)試問題,還能用于監(jiān)控和性能分析,下面就跟隨小編一起學(xué)習(xí)一下多種自動化按日期分割日志的方法吧
    2025-04-04
  • python網(wǎng)絡(luò)爬蟲精解之正則表達式的使用說明

    python網(wǎng)絡(luò)爬蟲精解之正則表達式的使用說明

    正則表達式是對字符串操作的一種邏輯公式,就是用事先定義好的一些特定字符、及這些特定字符的組合,組成一個“規(guī)則字符串”,這個“規(guī)則字符串”用來表達對字符串的一種過濾邏輯
    2021-09-09
  • python實現(xiàn)SMTP郵件發(fā)送功能

    python實現(xiàn)SMTP郵件發(fā)送功能

    這篇文章主要為大家詳細介紹了python實現(xiàn)SMTP郵件發(fā)送功能的相關(guān)資料,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2016-05-05
  • Python字典創(chuàng)建 遍歷 添加等實用基礎(chǔ)操作技巧

    Python字典創(chuàng)建 遍歷 添加等實用基礎(chǔ)操作技巧

    字段是Python是字典中唯一的鍵-值類型,本文講述了Python中字典如何創(chuàng)建 遍歷 添加等實用基礎(chǔ)操作技巧,內(nèi)容非常基礎(chǔ)但非常重要,一定要熟練掌握
    2018-09-09
  • Python+Pygame實現(xiàn)彩色五子棋游戲

    Python+Pygame實現(xiàn)彩色五子棋游戲

    這篇文章主要為大家詳細介紹了如何溧陽Python和Pygame實現(xiàn)彩色五子棋游戲,文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2023-02-02
  • Linux下Python獲取IP地址的代碼

    Linux下Python獲取IP地址的代碼

    這篇文章主要介紹了Linux下Python獲取IP地址的代碼,需要的朋友可以參考下
    2014-11-11
  • python 計算一個字符串中所有數(shù)字的和實例

    python 計算一個字符串中所有數(shù)字的和實例

    今天小編就為大家分享一篇python 計算一個字符串中所有數(shù)字的和實例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-06-06
  • python學(xué)習(xí)之subprocess模塊詳解

    python學(xué)習(xí)之subprocess模塊詳解

    這篇文章主要介紹了python學(xué)習(xí)之subprocess模塊的相關(guān)資料,該模塊用于創(chuàng)建子進程并與其進行交互,它提供了多個函數(shù)和類來執(zhí)行操作系統(tǒng)命令、獲取命令輸出以及管理子進程的生命周期,需要的朋友可以參考下
    2024-12-12
  • Python pkg_resources模塊動態(tài)加載插件實例分析

    Python pkg_resources模塊動態(tài)加載插件實例分析

    當(dāng)編寫應(yīng)用軟件時,我們通常希望程序具有一定的擴展性,額外的功能——甚至所有非核心的功能,都能通過插件實現(xiàn),具有可插拔性。特別是使用 Python 編寫的程序,由于語言本身的動態(tài)特性,為我們的插件方案提供了很多種實現(xiàn)方式
    2022-08-08

最新評論

高陵县| 永州市| 游戏| 明水县| 莱州市| 出国| 慈溪市| 沅陵县| 潞城市| 广州市| 谢通门县| 广丰县| 新龙县| 永泰县| 安顺市| 比如县| 吉林市| 含山县| 鹤山市| 陇川县| 长治县| 搜索| 科技| 河津市| 阜宁县| 高阳县| 格尔木市| 霞浦县| 青冈县| 延庆县| 谢通门县| 西贡区| 河西区| 蓬溪县| 丹棱县| 济阳县| 呼伦贝尔市| 红桥区| 江川县| 苏州市| 青神县|