我正在尝试以编程方式获得Google新闻搜索结果(即,有多少个结果)的搜索字词列表的计数,但仅限最近一年。使用用户界面进行搜索时,结果计数仅显示在常规搜索中,而在“工具>最近>过去一年”下时则不显示。我在python中尝试了以下代码(首先返回Google新闻的搜索结果计数,但没有“过去1年”过滤器,但是它存在问题-报告错误的结果计数。例如,转到Google新闻和搜索苹果,产生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新闻计数。
答案 0 :(得分:0)
import requests
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 len((soup.find('div',{'id':'resultStats'}).text))