python - Twitter API - 从ID列表中获取推文

时间:2017-11-11 19:34:26

标签: python json twitter tweepy twython

我正在尝试使用Twython(如果您认为可能的话,可以使用Tweyy)从我有的推文ID列表中生成文本(以及其他信息)。

我可以用一个id来启动它,我不确定a)如何使用多个b和b)如何提取其他信息,如用户描述,位置等。

这是我的代码

list_of_tweets = ["928549518659989505", "928635241677324288" ]

twitter = Twython(consumer_key, consumer_secret,access_token, access_token_secret)

tweet = twitter.show_status(id=__notsure__)
print(tweet['text'])

我还发现了另一个类似的问题(对于用户名,但很容易得到文本),它提供了以下解决方案:

from twython import Twython

#Auth steps
twitter = Twython(AUTH)
samplefollower = ["259784090","136953436","1219150098"]

#We create a comma separated string from the previous list
comma_separated_string = ",".join(samplefollower)

#Now, we query twitter with the comma separated list
output = twitter.lookup_user(user_id=comma_separated_string)
username_list=[]

#Loop through the results
for user in output:
    username_list.append(user['screen_name'])
    print(username_list)

然而,这给了我错误:

TwythonError: Twitter API returned a 404 (Not Found), No user matches for specified terms.

1 个答案:

答案 0 :(得分:0)

如果您不喜欢twython或tweepy,可以使用其他库来执行此操作 - TwitterAPI

from TwitterAPI import TwitterAPI

api = TwitterAPI(CONSUMER_KEY, CONSUMER_SECRET, ACCESS_TOKEY_KEY, ACCESS_TOKEN_SECRE)

ids = "259784090","136953436","1219150098"

for item in api.request('users/lookup', {'user_id':ids}):
        if 'screen_name' in item:
                print(item['screen_name'])