【发布时间】:2019-01-10 01:24:18
【问题描述】:
我正在尝试以编程方式获取搜索字词列表的 Google 新闻搜索结果计数(即有多少结果),但仅限于过去 1 年。使用用户界面进行搜索时,结果计数仅出现在常规搜索中,但在“工具 > 最近 > 过去一年”下不会出现。我在 python 中尝试了下面的代码(首先返回谷歌新闻的搜索结果计数,没有“过去 1 年”过滤器,但它有一个问题 - 它报告了错误的结果计数。例如,去谷歌新闻和搜索 Apple,产生 3.21 亿条结果: https://www.google.com/search?q=apple&source=lnms&tbm=nws&sa=X&ved=0ahUKEwj81ojfheLfAhXE_SwKHRuNByUQ_AUIDygC&biw=1600&bih=696 但是下面的代码报告了 4.15 亿个结果。
那么我该如何做到这一点,并在以后限制去年的结果计数?当然,它不必在 python 中。
非常感谢。
python代码:
import requests
enter code here`from bs4 import BeautifulSoup
import argparse
parser = argparse.ArgumentParser(description='Get Google Count.')
parser.add_argument('word', help='word to count')
args = parser.parse_args()
r = requests.get('http://www.google.com/search',
params={"client":"firefox-b-ab",
"tbm":"nws",
"ei":"Oj02XIiCO6-V1fAP9d-j0AY",
'q':'"'+args.word+'"',
'oq':'"'+args.word+'"',
"tbs":"li:1"}
)
soup = BeautifulSoup(r.text,"html.parser")
print (soup.find('div',{'id':'resultStats'}).text)
Google 新闻计数不准确。
【问题讨论】:
-
为什么不用google news api 而不是解析结果呢? newsapi.org/s/google-news-api