使用 urllib2 的 Twitter 搜索失败

Twitter search with urllib2 failing

我正在尝试使用以下代码在 Twitter 中搜索给定的搜索词:

from bs4 import BeautifulSoup
import urllib2

link = "https://twitter.com/search?q=Whosebug%20since%3A2014-11-01%20until%3A2015-11-01&src=typd&vertical=default"
page = urllib2.urlopen(link).read()
soup = BeautifulSoup(page)
first = soup.find_all('p')

(将 link 中的 "Whosebug" 替换为您想要的任何搜索词。)但是,当我这样做时(过去几天我每次都尝试过,认为 Twitter 可能太陷入困境),我收到此错误:

No results.
Twitter may be over capacity or experiencing a momentary hiccup.

(BS 结果中的 HTML 为便于查看省略。)

此代码曾经 对我有用,但现在不行了。此外,将 link 直接插入浏览器会得到正确的结果,并且 Twitter 状态显示一切正常。

想法?

我能够重现您的结果。我相信 Twitter 正在使用此消息来阻止人们抓取。这是有道理的,因为他们花时间发布了一个 API 供人们访问他们的数据,他们不鼓励抓取。

我的建议是使用此处记录的 API:https://dev.twitter.com/overview/documentation