Twitter API获取用户时间线回复/评论计数

4

除了已经返回的favorite_count和retweet_count,是否有办法在使用GET statuses/user_timeline时获取推文的评论/回复计数?

谢谢!

3个回答

3
自2011年以来,人们一直要求增加此功能,但目前尚无公共API可用于回复计数,因此不可能直接获取推文的回复计数。
但是可以使用搜索API来绕过这个问题:
您可以执行查询:q = "to:{author_screen_name}", sinceId = {tweet_id},其中author_screen_name是屏幕名称(例如@shiftpsh中的'shiftpsh'),tweet_id是您正在尝试获取回复计数的推文的ID。
循环遍历结果中的所有推文,并过滤in_reply_to_status_id_str{tweet_id}的推文。
请记住,标准搜索API的搜索索引限制为7天(高级版为30天),因此得到的回复计数可能不准确。

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的方法进行遍历。


1
请注意,由于Twitter的用户协议限制,爬取Twitter网站是非法的。 - Amoo Hesam

0

如果有人遇到这个问题,我想更新一下这个答案。

Twitter的API现在包含 "指标" 终端 ,您可以在这里获取此信息。

按照文档:

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

  • 印象
  • 转发
  • 引用推文
  • 回复
  • 视频观看次数
  • 视频观看四分之一 "

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接