1

我正在尝试制作一个简单的 Twitter Bot,如果他们的推文包含某个主题标签,它会转发用户

所以对于我的搜索网址,我有以下内容: http://search.twitter.com/search.json?q=address&count=1

但是每当我运行我的程序时,我只会得到 1 条推文及其信息。我很困惑为什么我只得到 1 条推文而不是 10 条。即使我改变“count”参数的值,我也会得到 1 条推文。

如果我更改搜索 url 以将“hashtags”替换为“q”,我会收到一堆错误: http://search.twitter.com/search.json?hashtags=151milford&count=10

上面的那一行给了我以下错误

File "C:\Users\Documents\pythonbot.py", line 16, in <module>
    o = urllib2.urlopen(url) #open the url
  File "C:\PYTHON27\LIB\urllib2.py", line 126, in urlopen
    return _opener.open(url, data, timeout)
  File "C:\PYTHON27\LIB\urllib2.py", line 406, in open
    response = meth(req, response)
  File "C:\PYTHON27\LIB\urllib2.py", line 519, in http_response
    'http', request, response, code, msg, hdrs)
  File "C:\PYTHON27\LIB\urllib2.py", line 444, in error
    return self._call_chain(*args)
  File "C:\PYTHON27\LIB\urllib2.py", line 378, in _call_chain
    result = func(*args)
  File "C:\PYTHON27\LIB\urllib2.py", line 527, in http_error_default
    raise HTTPError(req.get_full_url(), code, msg, hdrs, fp)
HTTPError: HTTP Error 403: Forbidden

我仍在尝试学习如何使用 API,所以任何提示都会很棒

4

3 回答 3

0

您使用的计数参数不正确。再次检查文档

查看返回 5 个项目的此 URL:

https://search.twitter.com/search.json?q=stackoverflow&rpp=5

您将使用参数来控制每页rpp的结果数,并使用参数来控制页面偏移量page

另请移至更新的 v1.1 API。您可以在@pcalcao 帖子中找到该链接。

于 2013-04-08T16:33:39.427 回答
0

您确定有更多带有该查询的推文吗?

在浏览器中使用该 url,例如:

http://search.twitter.com/search.json?q=trending&count=10

您将获得 10 个结果。

用于 twitter 的 API 只会为您提供相对较新的推文,因此如果没有与您的查询匹配的最近推文,您将一无所获。

看看这里https://dev.twitter.com/docs/api/1.1看看支持哪些参数。

您遇到的错误是由于没有“hashtags”参数。

于 2013-04-08T16:26:12.550 回答
0

我想我找到了为什么我的搜索没有找到所有内容。显然 Twitter 没有索引他们所有的推文,所以这就是为什么我没有在我的搜索结果中得到所有内容的原因。

https://support.twitter.com/articles/66018#

于 2013-04-09T22:18:06.140 回答