随着时间的推移可能获得alexa信息或谷歌页面排名?

时间:2013-10-07 01:17:18

标签: python google-api google-search-api pagerank alexa

我试图访问历史谷歌网页排名或alexa排名随着时间的推移在我正在制作的搜索引擎上添加一些权重。这将是一个单独的函数,我将在Python中调用(理想情况下)并传递URL的参数以及我想要获得平均值的时间,以天为单位测量,然后我可以使用该信息来加权我的结果!

我认为工作可能会很有趣,但我也觉得这可能很容易做到某些大师可能会向我展示的API的一些技巧,并为我节省了几个不眠之夜!有人可以帮忙吗?

非常感谢!

4 个答案:

答案 0 :(得分:4)

我知道有四种服务或数据库可以在线访问历史alexa排名数据。如有必要,您可能需要检查您网站的信息:

希望它有所帮助!

答案 1 :(得分: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)

答案 2 :(得分:1)

Alexa(通过AWS)收取使用其API访问Alexa排名的费用。每个查询的费用是微观的,因此您可以相对便宜地获得数十万个排名。我曾经运行过几个搜索目录,随着时间的推移索引Alexa排名,所以我有这方面的经验。关键是,当您可以支付合法服务费用时,通过抓取大量数据就是邪恶的。

关于PageRank ... Google不提供访问此数据的方法。提供显示您的PageRank的网站使用技巧通过Google工具栏获取PageRank。所以,这不合法,我不会指望它用于长期数据挖掘,尤其是大批量数据挖掘。

此外,由于谷歌现在依赖大约200个其他因素对搜索结果进行排名,而不仅仅是衡量网站的链接权限,因此PageRank目前的数量非常少。

答案 3 :(得分:0)

您希望获得哪种Google排名? 如果是Alexa全球排名,您将需要购买api访问权限 - 他们会给出试用期,以便您可以获得并进行测试。如果你寻找PageRank,你可以去timer4web.com,我不确定他们是否提供api,但你可以问他们。

此致 凯特