我试图获取有关用户的信息,他们将特定的推文添加到收藏夹,但我无法在文档中找到它。Twitter API:如何获取用户ID,谁最喜欢特定的推文?
这是不公平的,叽叽喳喳可以做到这一点,但不会给这种方法作为API。
我试图获取有关用户的信息,他们将特定的推文添加到收藏夹,但我无法在文档中找到它。Twitter API:如何获取用户ID,谁最喜欢特定的推文?
这是不公平的,叽叽喳喳可以做到这一点,但不会给这种方法作为API。
简答:你不能完美地做到这一点。
很长的答案:你可以做一些努力,但它不会接近完美。您可以使用twitter api来监控多达4000个用户ID的活动。如果推文是由您监控的4k人之一创建的,那么您可以获取所有信息,包括喜欢推文的人。这也需要你将你监控的人的所有信息都推送到数据库上(我使用的是mongodb)。然后,您可以查询数据库以获取有关您的推文的信息。
我喜欢简短的回答。如果twitter不想显示我的最爱,那不是我的麻烦,而是api的麻烦,呃:\谢谢! – gaussblurinc
您可以使用https://dev.twitter.com/docs/api/1.1/get/favorites/list获取用户的20个最新收藏,并在其中搜索您的推文。但这是非常有限的,因为它只返回20. – Amitash
是的,我无法获得所有用户ID,是吗?我需要像'statuses/favorites/users'这样的方法 – gaussblurinc
使用端点收藏夹/列表,并将max_id设置为您要查找的推文。
显然,要做到这一点的唯一方法就是在这个时候是get the info直接从Web服务器,就像这样:
import urllib2
from lxml.html import parse
#returns list(retweet users),list(favorite users) for a given screen_name and status_id
def get_twitter_user_rts_and_favs(screen_name, status_id):
url = urllib2.urlopen('https://twitter.com/' + screen_name + '/status/' + status_id)
root = parse(url).getroot()
num_rts = 0
num_favs = 0
rt_users = []
fav_users = []
for ul in root.find_class('stats'):
for li in ul.cssselect('li'):
cls_name = li.attrib['class']
if cls_name.find('retweet') >= 0:
num_rts = int(li.cssselect('a')[0].attrib['data-tweet-stat-count'])
elif cls_name.find('favorit') >= 0:
num_favs = int(li.cssselect('a')[0].attrib['data-tweet-stat-count'])
elif cls_name.find('avatar') >= 0 or cls_name.find('face-pile') >= 0:#else face-plant
for users in li.cssselect('a'):
#apparently, favs are listed before retweets, but the retweet summary's listed before the fav summary
#if in doubt you can take the difference of returned uids here with retweet uids from the official api
if num_favs > 0:#num_rt > 0:
#num_rts -= 1
num_favs -= 1
#rt_users.append(users.attrib['data-user-id'])
fav_users.append(users.attrib['data-user-id'])
else:
#fav_users.append(users.attrib['data-user-id'])
rt_users.append(users.attrib['data-user-id'])
return rt_users, fav_users
#example
if __name__ == '__main__':
print get_twitter_user_rts_and_favs('alien_merchant', '674104400013578240')
看到https://stackoverflow.com/questions/ 28982850/twitter-api-getting-list-of-users-who-favorited-a-status – sovon