我试图访问历史谷歌网页排名或alexa排名随着时间的推移在我正在制作的搜索引擎上添加一些权重。这将是一个单独的函数,我将在Python中调用(理想情况下)并传递URL的参数以及我想要获得平均值的时间,以天为单位测量,然后我可以使用该信息来加权我的结果!
我认为工作可能会很有趣,但我也觉得这可能很容易做到某些大师可能会向我展示的API的一些技巧,并为我节省了几个不眠之夜!有人可以帮忙吗?
非常感谢!
答案 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,但你可以问他们。
此致 凯特