【问题标题】:Twitter search API resultsTwitter 搜索 API 结果
【发布时间】:2017-10-24 22:28:03
【问题描述】:

我使用的是 Twitter API atom 格式

http://search.twitter.com/search.atom?q=Name&:)&since:year-month-date&rpp=1500

但它只返回 100 条推文,我也尝试使用 JSON 格式,但它只返回 100 个结果。有什么我做错了只能得到 100 个结果吗?

【问题讨论】:

    标签: twitter


    【解决方案1】:

    是的,每页的结果数量是有限的。为了获得更多结果,您必须像这样使用page 参数:

    http://search.twitter.com/search.atom?q=Name&:)&since:year-month-date&rpp=1500&page=2

    编辑

    rpp:要返回的推文数 每页,最多 100 个。例如,

    http://search.twitter.com/search.atom?lang=en&q=devo&rpp=15

    page:要返回的页码,最多 最多大约 1500 个结果(基于 在 rpp * 页面上)

    来源:http://search.twitter.com/api/

    换句话说,您的rpp 不会像您预期的那样工作,因为最大值为 100。

    【讨论】:

    • 编辑:删除了我之前的内容,因为它现在无关紧要 - 谢谢!另外,有没有办法在同一个文档中显示多个页面,例如同时返回第 1-15 页?
    • @John 不幸的是,您必须一一进行。 Twitter 有这些限制,因为它们是受欢迎的网站,负载非常高。如果他们同时允许 15 个页面,那么需要传输大量数据,当您拥有与他们一样多的用户时,这些数据就会增加。
    • atom/rss/xml 支持将于 3 月从 twitter API 中删除!
    【解决方案2】:

    我的建议。 向您的 API 发出请求并按时间检索 100 个结果。 使用循环检查您的结果计数是否设置为 100。 如果为真,则向第 2 页发出新请求。 再次测试并检查itens的数量,直到结果集低于100。

    【讨论】:

    • 无法可靠工作。如果必须从响应中删除任何推文(因为它们受到保护或已被删除),则它们将在计入 100 之后被删除。因此,即使还剩下更多,您最终可能会得到少于 100 项的结果。
    • 你说得对,我在使用这个功能的时候,设置了一个最大值来判断是否跳转到下一页。例如,我检查了项目数是否大于 90 条推文,所以我尝试转到第 2 页
    【解决方案3】:

    Twitter 搜索 API 发生了变化,包括参数的命名:例如,rpp 现在是 countpage 参数被删除以支持 ma​​x_id,这是一个基于时间线概念的参数:

    "要正确使用 max_id,应用程序对 时间线端点应该只指定一个计数。处理这个时 以及随后的响应,跟踪收到的最低 ID。这个 ID 应该作为 max_id 参数的值传递给下一个 请求,它只会返回 ID 小于或等于的推文 max_id 参数的值。”

    https://developer.twitter.com/en/docs/tweets/timelines/guides/working-with-timelines

    Twitter 搜索 API 的更新链接是: https://developer.twitter.com/en/docs/tweets/search/api-reference/get-search-tweets.html

    请记住,并非所有推文都被编入索引,如果您使用的是非商业版本,则只能进行 7 天的搜索。

    【讨论】:

      猜你喜欢
      • 2010-12-26
      • 1970-01-01
      • 1970-01-01
      • 2012-10-18
      • 2013-06-26
      • 2016-09-19
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多