4

除了已经返回的 favorite_count 和 retweet_count 之外,还有什么方法可以使用 GET statuses/user_timeline 获取推文的评论/回复计数?

谢谢!

4

3 回答 3

3

该功能自 2011 年起就已提出请求,但到目前为止还没有用于回复计数的公共 API,因此无法直接获取推文的回复计数。


但是存在使用Search API的解决方法:

您可以查询: q = "to:{author_screen_name}", sinceId = {tweet_id}, whileauthor_screen_name是屏幕名称(如 @shiftpsh 中的“shiftpsh”),并且tweet_id是您尝试获取回复计数的推文的 id。

遍历结果中的所有推文并in_reply_to_status_id_str过滤{tweet_id}.

请记住,标准搜索 API 的搜索索引限制为 7 天(如果高级,则为 30 天),因此生成的回复计数可能不准确。

于 2017-12-19T18:22:30.660 回答
1

Twitter 对此仍然没有完善的解决方案。

与 shiftpsh 的答案类似,使用 Node,您可以查询https://twitter.com/${screen_name}/status/${tweet_id}并使用 JavaScript 中的 JSDOM 之类的模块将 HTML 解析为 DOM 对象。使用该对象,您可以使用正常的文档查询功能来提取回复计数(以及许多其他数据点)。

var repliesCount = parseInt(document.getElementsByClassName("permalink-tweet-container")[0]
    .getElementsByClassName("ProfileTweet-action--reply")[0]
  .getElementsByClassName("ProfileTweet-actionCount")[0]
  .getAttribute("data-tweet-stat-count"));

此解决方案是网络抓取的一种形式,因此请在使用这些类型的解决方案时负责。

编辑:刚刚注意到您的标签是用于 Java 的,jsoup是一个很棒的库,用于将 HTML 解析为对象并使用类似 jQuery 的方法遍历它。

于 2019-02-20T22:41:46.837 回答
0

只是想我会为任何面临这个问题的人更新这个答案。Twitter 的 API 现在包括“指标”端点,您可以在其中获取此信息。

遵循文档:

“GET /tweets/metrics/private 支持检索推文参与度数据并提供以下指标:

  • 印象
  • 转推
  • 引用推文
  • 喜欢
  • 回复
  • 视频观看次数
  • 视频观看四分位数"

但是,需要注意的是,它仅适用于拥有或授权的帐户以及在过去 30 天内(请求之前)发布的推文

于 2020-08-13T08:43:31.703 回答