Dra*_*hen 8 python search google-ranking
我正在寻找一个api/program/interface来获取以下信息.
我希望看到特定搜索字词的使用次数及其/每周/每月/每年的受欢迎程度细分及其在特定页面中的排名.
我找到了googlesearchpositionfinder.com和google.com/trends,但我手头搜索的5000个条款没有发生.我也找到了www.juiceanalytics.com/openjuice/programmatic-google-trends-api,但它不允许我做两年的分解.
基本上我正在尝试创建搜索短语的排名,他们更受欢迎的周(周期)以及特定网站(例如城市词典)如何出现在Google搜索排名中.见上文(1-2)
这也不一定是在python这是我发现用...构建的...
最新编辑:以下两个答案都有帮助.
我最终直接使用curl对抗google,然后使用ac#program解析结果.
谷歌趋势不允许在两年的范围内进行搜索,而是一年的搜索.
使用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'))
Run Code Online (Sandbox Code Playgroud)
然后你可以加入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)
Run Code Online (Sandbox Code Playgroud)