python - 无法准确抓取google新闻

标签 python web-scraping google-news

我正在尝试抓取给定关键字(例如 Blackrock)在给定时间段(例如 2012 年 1 月 7 日至 2012 年 1 月 14 日)的 Google 头条新闻。 我试图通过构造 url 然后使用 urllib2 来实现此目的,如下面的代码所示。如果我将构建的网址放入浏览器中,它会给出正确的结果。然而,如果我通过 python 使用它,我会得到当前时期正确关键字的新闻结果。 这是代码。有人可以告诉我我做错了什么以及如何纠正它吗?

import urllib
import urllib2
import json
from bs4 import BeautifulSoup
import requests

url = 'https://www.google.com/search?q=Blackrock&hl=en&gl=uk&authuser=0&source=lnt&tbs=cdr%3A1%2Ccd_min%3A7%2F1%2F2012%2Ccd_max%3A14%2F1%2F2012&tbm=nws'


req = urllib2.Request(url)
req.add_header('User-Agent', 'Mozilla/5.0 (Windows; U; Windows NT 5.1; en-GB; rv:1.9.0.3 Gecko/2008092417 Firefox/3.0.3')
response = urllib2.urlopen(req)


html = response.read()
soup = BeautifulSoup(html)

text = soup.text

start = text.index('000 results')+11
end = text.index('NextThe selection')
text = text[start:end]
print text

最佳答案

问题出在你的用户代理上,它对我有用:

req.add_header('User-Agent', 'Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/39.0.2171.71 Safari/537.36')

您正在使用 Firefox 3 的用户代理,该代理已有大约 6 年的历史。

关于python - 无法准确抓取google新闻,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27360315/

相关文章:

c# - 有人可以解释一下这段 HtmlAgilityPack 代码吗?

python - 使用终端下载所有 ctrl alt del 网络漫画

python - 解码编码的 Google 新闻网址

rss - 通过 Google 新闻 RSS 选择自定义主题

rss - 有没有办法让Bing和Google新闻搜索成为RSS?

c# - 是否有与 Python 的 chr 和 ord 等效的 C#?

python - Django 操作错误 1405 在syncdb上

javascript - 如何在 javascript __doPostBack 中查找 ActionURL

python - Dialogflow 履行 Webhook 连接失败

python - 解压字典列表并将每个字典设置为自己的变量