计算Google新闻搜索结果

时间:2019-01-10 01:24:18

标签: python api search

我正在尝试以编程方式获得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新闻计数。

1 个答案:

答案 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))