刮刮谷歌新闻搜索

时间:2018-01-10 08:56:56

标签: python web-scraping google-news

我正在尝试从特定日期的Google新闻搜索中获取结果数量。在浏览器中这很容易 - 进行谷歌搜索,点击“新闻”标签,点击“工具”,然后将时间段更改为您想要的日期,然后再次点击“工具”,您可以看到有多少它发现的故事。

可以在URL中看到开始日期和结束日期。例如,这里搜索过去一周的“堆栈溢出” - https://www.google.com/search?q=stack+overflow&source=lnt&tbs=cdr%3A1%2Ccd_min%3A1%2F3%2F2018%2Ccd_max%3A1%2F10%2F2018&tbm=nws

问题是,当我尝试请求其中一个URL时,它会为我提供当前结果并忽略我指定的日期范围。我可以在浏览器中更改这些参数,结果会按预期更改,但它不能以编程方式工作。

我在python和C#中尝试了几种方法,总是有相同的结果 例如 -

import requests
response = requests.get('https://www.google.com/search?q=stack+overflow&source=lnt&tbs=cdr%3A1%2Ccd_min%3A1%2F1%2F2018%2Ccd_max%3A1%2F10%2F2018&tbm=nws')
print(response.content)

1 个答案:

答案 0 :(得分:0)

我终于找到了一种使用无头网络浏览器和Selenium的工作方法。我想这与通过简单的请求无法获得java创建的魔法有关。我仍然有兴趣听取解释或其他方法来做到这一点。