我想知道如何获得喜欢指定推特id的用户id列表。
我可以通过使用"收藏夹计数"来查看推文的收藏夹数量,但我想知道世界卫生组织喜欢这条推文。
与Twitter API-获取喜欢状态的用户列表,是用python2写的,所以我用python3重写。然而,它似乎不再起作用了。
def get_user_ids_who_likes(post_id):
try:
url = 'https://twitter.com/i/activity/favorited_popup?id=' + str(post_id)
json_data = urllib.request.urlopen(url).read()
found_ids = re.findall(r'data-user-id=\"+d+', json_data.decode('utf-8'))
unique_ids = list(set([re.findall(r'd+', match)[0] for match in found_ids]))
return unique_ids
except urllib.error.HTTPError:
return False
有什么解决方案吗?
使用tweepy.Client.get_liking_users()
。
Client.get_liking_users(id, *, expansions, media_fields, place_fields, poll_fields, tweet_fields, user_fields)
允许您获取有关推特点赞用户的信息。
参数:
id (Union[int, str])
–请求点赞用户的推文的推文IDexpansions (Union[List[str], str])
–扩展media_fields (Union[List[str], str])
–媒体字段place_fields (Union[List[str], str])
–位置字段poll_fields (Union[List[str], str])
–轮询字段tweet_fields (Union[List[str], str])
–花呢字段user_fields (Union[List[str], str])
–用户字段返回:
退货类型
Union[dict, requests.Response, Response]
参考文献:
https://developer.twitter.com/en/docs/twitter-api/tweets/likes/api-reference/get-tweets-id-liking_users