谷歌搜索排名和趋势api

时间:2010-04-14 05:11:15

标签: python search google-ranking

我正在寻找api / program / interface来获取以下信息。

  1. 一个词总体受欢迎程度 - ala google trends
  2. 网站如何显示所述术语的排名 - ala googlesearchpositionfinder 有多少个网站都有这个术语 - 标准谷歌,例如搜索foobar和都市字典显示在9,000,000
  3. 的第5位

    我希望看到特定搜索字词的使用次数及其/每周/每月/每年的受欢迎程度细分及其在特定页面中的排名。

    我找到了googlesearchpositionfinder.com和google.com/trends,但我手头搜索的5000个条款没有发生。我也找到了www.juiceanalytics.com/openjuice/programmatic-google-trends-api但它不允许我做两年的分解。

    基本上我正在尝试创建搜索短语的排名,他们更受欢迎的周(期间)以及特定网站(例如城市词典)如何出现在谷歌搜索排名中。见上文(1-2)

    这也不一定是在python中这就是我发现用...构建的......

    最新编辑: 以下两个答案都有帮助。

    我最终直接使用curl反对google,然后使用c#程序解析结果。

2 个答案:

答案 0 :(得分:5)

Google趋势不允许在两年的范围内进行搜索,但一年只能搜索一次 使用pyGTrends.py即可:

from import pyGTrends
from csv import DictReader
r = pyGTrends(username, password)
r.download_report(('stackoverflow'), date='2009')
export1 = DictReader(r.csv().split('\n'))
r.download_report(('stackoverflow'), date='2010')
export2 = DictReader(r.csv().split('\n'))

然后您可以加入export1和export2以满足您的需求。

或更好

您可以下载没有日期过滤器的报告,并使用Python执行脏任务 查看以下脚本,根据需要排列date_MIN \ date_MAX。

from pyGTrends import pyGTrends
import csv
import datetime
date_MIN ='2007/01/01'
date_MAX ='2009/03/01'
r = pyGTrends('username','password')
r.download_report(('stackoverflow'))
csv_reader = csv.reader(r.csv().split('\n'))
with open('gtrends_report.csv', 'w') as csv_out:
    csv_writer = csv.writer(csv_out)
    for count,row in enumerate(csv_reader):
        if count == 0:
            csv_writer.writerow(row)
        else:
            date = datetime.datetime.strptime(row[0], "%b %d %Y")
            if  datetime.datetime.strptime(date_MIN, "%Y/%m/%d") <= date <= datetime.datetime.strptime(date_MAX, "%Y/%m/%d"):
                 csv_writer.writerow(row)

答案 1 :(得分:2)

我遇到了同样的问题,我刚刚写了一个小班,通过Google AJAX Search API查看排名,你可以在这里下载:

http://bohuco.net/blog/2010/07/google-ranking-checker-class-in-php/