2010-04-14 138 views
8

我正在寻找一个api /程序/界面来获得以下信息。谷歌搜索排名和趋势api

  1. 一个术语(S)全面普及 - 阿拉谷歌趋势
  2. 如何的网站上显示排名在聪明的说项(S) - 丙氨酸googlesearchpositionfinder 多少网站有术语(S) - 标准谷歌,例如搜索foobar和城市词典显示在位置5的9,000,000

我希望看到特定搜索词的使用次数以及每周/每月/每年的人气分类及其排名特定页面。

我发现googlesearchpositionfinder.com和google.com/trends,但我有5000个用于搜索的术语不会发生。我还发现www.juiceanalytics.com/openjuice/programmatic-google-trends-api,但它不允许我在两年内分解。

基本上,我试图创建一个搜索词组的排名,他们更受欢迎的周(时期)以及特定网站(例如城市字典)如何显示在Google搜索排名中的条款。见上文(1-2)

而且这并不一定是在Python这正是我发现建立与...

最新编辑: 这两个答案下面帮助。

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

回答

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) 
+0

谢谢至少我们在同一页面上,我一直这样做,但我想做一个更精细的粒度,并期待看看是否有办法做日期范围。现在我被迫一起加入了一堆月。我也一直在寻找见解,因为它看起来类似于谷歌的趋势,更多的控制......但还没有得到它吐出正确的信息...... – Drakkhen 2010-04-14 16:46:42

+0

@Drakkhen更新,为我工作。 – systempuntoout 2010-04-14 20:57:21

+0

谢谢你,我已经使用它,并得到了一些进一步,但仍然试图让第一部分是多么接近顶部的谷歌搜索页面出现 – Drakkhen 2010-04-15 06:14:04