2013-10-07 36 views
1

我試圖訪問歷史谷歌網頁排名或隨着時間的推移增加一些搜索引擎上的一些搜索引擎的排名,我正在取樂。這將是一個獨立的函數,我將在Python中調用(理想情況下)並傳遞URL的參數,並且我想要平均時間過去多長時間,以天計算,然後我可以使用該信息來衡量我的結果!可能獲得alexa信息或谷歌頁面排名隨着時間的推移?

我認爲這可能是有趣的工作,但我也覺得這可能很容易做的API的一些技巧,一些大師可能能夠告訴我,並節省我幾個不眠之夜!誰能幫忙?

非常感謝!

回答

1

如果您查看stack overflow的Alexa頁面,您可以看到,在全球排名旁邊,它提供了過去三個月網站排名的變化。這可能不會達到您想要的粒度級別,但是您可以相對容易地刪除這些信息,我懷疑您會從查看不同時間長度的變化中獲得更多的附加信息。長期的答案是收集和存儲自己的排名,以便您有前進的歷史記錄。

更新:以下是示例代碼。

import mechanize 
import cookielib 
from BeautifulSoup import BeautifulSoup 


def changerankscrapper(site): 
    """ 
    Takes a site url, scrapes that site's Alexa page, 
    and returns the site's global Alexa rank and the 
    change in that rank over the past three months. 
    """ 

    #Create Alexa URL 
    url = "http://www.alexa.com/siteinfo/" + site 

    #Get HTML 
    cj = cookielib.CookieJar() 
    mech = mechanize.OpenerFactory().build_opener(mechanize.HTTPCookieProcessor(cj)) 
    request = mechanize.Request(url) 
    response = mech.open(request) 
    html = response.read() 

    #Parse HTML with BeautifulSoup 
    soup = BeautifulSoup(html) 

    globalrank = int(soup.find("strong", { "class" : "metricsUrl font-big2 valign" }).text) 
    changerank = int(soup.find("span", { "class" : "change-wrapper change-up" }).text) 


    return globalrank, changerank 

#Example 
site = "http://stackoverflow.com/" 
globalrank, changerank = changerankscrapper(site) 
print(globalrank) 
print(changerank) 
+0

謝謝你。我怎麼能寫一個腳本來插入這些信息?假設要跟蹤a和b之間的等級中的網站更改,並將其作爲參數傳入? –

+1

使用'機械化'來請求頁面和'BeautifulSoup'來處理HTML並提取更改信息,這會在過去三個月內給您提供更改。 – Michael

1

Alexa(通過AWS)收取使用其API訪問Alexa排名的費用。每個查詢的費用是微不足道的,因此您可以相對便宜地獲得成千上萬的等級。我曾經運行過一些搜索目錄,這些目錄隨着時間​​的推移對Alexa排名進行了索引,所以我有這方面的經驗。關鍵是,如果您可以支付合法服務費用,那麼您將通過大量數據獲取惡意軟件。

關於PageRank ... Google不提供訪問此數據的方法。提供顯示您的PageRank的網站使用一個技巧通過Google工具欄獲取PageRank。所以再次,這是不合法的,我不會指望它用於長期數據挖掘,尤其是不能用於批量數據。

此外,PageRank這些天的計數很少,因爲Google現在依靠大約200個其他因素對搜索結果進行排名,而不僅僅是測量網站的鏈接權限。

+0

非常感謝回覆。你可以給我一個鏈接到AWS服務,我可以註冊這個網站的信息?如果我能夠輕鬆地做到這一點,我會很高興:)。 Google在其排名中使用了哪些其他因素?我認爲網頁排名是一個重要的因素,但我有興趣聽聽還有什麼。 –

+0

你可以使用這個http://aws.amazon.com/code/AWIS –

0

你想訪問什麼樣的谷歌排名? 如果這是Alexa的全球排名,您將需要購買api訪問權限 - 他們會給出一個試用期,以便您可以獲得並進行測試。如果你尋找PageRank,你可以去timer4web.com,我不確定他們是否提供api,但你可以問問他們。

問候 凱特

+0

雖然這個鏈接可能回答這個問題,但最好在這裏包含答案的重要部分,並提供供參考的鏈接。如果鏈接頁面更改,則僅鏈接答案可能會失效。 –

相關問題