【问题标题】:Can't get proper number of Tweets using Python and the Twitter API无法使用 Python 和 Twitter API 获得适当数量的推文
【发布时间】:2014-09-12 05:27:02
【问题描述】:

我正在尝试制作一个简单的 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,所以任何提示都会很棒

【问题讨论】:

    标签: python twitter


    【解决方案1】:

    您使用的计数参数不正确。检查documentation again

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

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

    您可以使用参数rpp 来控制每页的结果数量,并使用参数page 来控制页面偏移量。 p>

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

    【讨论】:

    • 您正在链接到已弃用的 API 版本。应该是 1.1 版
    • 我正在使用更新的 v1.1 API。显然它应该是count 而不是rpp。我认为这些推文不再公开或被删除。
    【解决方案2】:

    你确定还有更多关于该查询的推文吗?

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

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

    您将获得 10 个结果。

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

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

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

    【讨论】:

    • 基于原始/第一个查询,我认为我没有得到 10 个结果,因为旧的结果是私有的。但是如果我通过 twitter.com 进行搜索,我会看到一堆较旧的推文,所以这仍然让我感到困惑。是的,我把 hashtags 参数混为一谈了。
    【解决方案3】:

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

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

    【讨论】:

      猜你喜欢
      • 2011-08-02
      • 2012-12-01
      • 2015-08-27
      • 2018-02-11
      • 1970-01-01
      • 2016-07-06
      • 2021-12-13
      • 1970-01-01
      • 2016-05-18
      相关资源
      最近更新 更多