我一直在尝试编写代码,以获取在google上某个日期范围内的点击量。我通过在google搜索查询中插入日期来实现这一点。当我复制并粘贴它生成的链接时,它会给我正确的查询,但是当代码运行它时,我会一直得到没有日期范围的搜索的点击数。我不知道我做错了什么。在
from bs4 import BeautifulSoup
import requests
import re
from datetime import date, timedelta
day = date.today()
friday = day - timedelta(days=day.weekday() + 3) + timedelta(days=7)
word = "debt"
for n in range(0,32,7):
date_end = friday - timedelta(days=n)
date_beg = date_end - timedelta(days=4)
link_beg = "https://www.google.com/search?q=%s&source=lnt&tbs=cdr%%3A1%%2Ccd_min%%3A" % (word)
link_date = "%s%%2F%s%%2F%s%%2Ccd_max%%3A%s%%2F%s%%2F%s&tbm=&gws_rd=ssl" % (str(date_beg.month),str(date_beg.day),str(date_beg.year),str(date_end.month),str(date_end.day),str(date_end.year))
url = link_beg + link_date
print url,
print "\t",
r = requests.get(url)
soup = BeautifulSoup(r.content)
products = soup.findAll("div", id = "resultStats")
result = str(products[0])
results = re.findall(r'\d+', result)
number = ''.join([str(i) for i in results])
print number
例如,生成的链接之一是:
Google Search for "debt" in date range "3/9/2015 to 3/13/2015"
产生的点击率应该是:39700000
但是,结果却是:293000000(这只是一个普通搜索的结果)
谷歌的日期范围有限的搜索依赖于朱利安日期,即范围必须以朱利安命名法指定。也许你已经意识到了。在
可爱的小猫日期范围:[一些朱利安日期][另一个朱利安日期](没有括号)。在
有一些网页要转换成Julian,或者使用jdatepython脚本或jdayshell脚本。在
相关问题 更多 >
编程相关推荐