Twitter API - 获取收藏状态的用户列表

Ran*_*Ran 14 twitter

我想获得一个通过Twitter API收藏特定状态的用户列表.我可以看到每个状态都有它所获得的收藏数量,但我需要获得最喜欢的用户列表.

任何想法如何实现这一目标?

Dar*_* M. 9

这是在Python中实现的变通方法或黑客攻击2.7.x:

import urllib2
import re

def get_user_ids_of_post_likes(post_id):
    try:
        json_data = urllib2.urlopen('https://twitter.com/i/activity/favorited_popup?id=' + str(post_id)).read()
        found_ids = re.findall(r'data-user-id=\\"+\d+', json_data)
        unique_ids = list(set([re.findall(r'\d+', match)[0] for match in found_ids]))
        return unique_ids
    except urllib2.HTTPError:
        return False

# Example: 
# https://twitter.com/golan/status/731770343052972032

print get_user_ids_of_post_likes(731770343052972032)

# ['13520332', '416273351', '284966399']
#
# 13520332 +> @TopLeftBrick
# 416273351 => @Berenger_r
# 284966399 => @FFrink
Run Code Online (Sandbox Code Playgroud)

  • 值得注意的是,此方法仅使用当前的Twitter HTML布局返回最多25个结果. (4认同)
  • 太棒了,需要为python3用户进行一些代码更改.'urllib2'将是'urllib.request'并且需要从字节解码所以在匹配之前使用'decode("utf8")' (2认同)
  • 它有效,但限制仍然是最多 25 个结果。 (2认同)