使用tweepy获取用户的推文
我正在使用tweepy和python 2.7.6来获取指定用户的推文。
我的代码如下:
import tweepy
ckey = 'myckey'
csecret = 'mycsecret'
atoken = 'myatoken'
asecret = 'myasecret'
auth = tweepy.OAuthHandler(ckey, csecret)
auth.set_access_token(atoken, asecret)
api = tweepy.API(auth)
stuff = api.user_timeline(screen_name = 'danieltosh', count = 100, include_rts = True)
print stuff
但是,这段代码返回的结果是一些看起来像<tweepy.models.Status object at 0x7ff2ca3c1050>
的消息。
有没有办法从这些对象中打印出有用的信息?我可以在哪里找到它们的所有属性?
3 个回答
1
在Tweeter API v2中,获取指定用户的推文其实很简单,只要你不超过3200条推文的限制。想了解更多信息,可以查看文档。
import tweepy
# create client object
tweepy.Client(
bearer_token=TWITTER_BEARER_TOKEN,
consumer_key=TWITTER_API_KEY,
consumer_secret=TWITTER_API_KEY_SECRET,
access_token=TWITTER_ACCESS_TOKEN,
access_token_secret=TWITTER_TOKEN_SECRET,
)
# retrieve first n=`max_results` tweets
tweets = client.get_users_tweets(id=user_id, **kwargs)
# retrieve using pagination until no tweets left
while True:
if not tweets.data:
break
tweets_list.extend(tweets.data)
if not tweets.meta.get('next_token'):
break
tweets = client.get_users_tweets(
id=user_id,
pagination_token=tweets.meta['next_token'],
**kwargs,
)
tweets_list
将会是一个包含tweepy.tweet.Tweet对象的列表。
5
import tweepy
import tkinter
auth = tweepy.OAuthHandler(consumer_key, consumer_secret)
auth.set_access_token(access_token, access_token_secret)
api = tweepy.API(auth, wait_on_rate_limit=True, wait_on_rate_limit_notify=True)
# set parser=tweepy.parsers.JSONParser() if you want a nice printed json response.
userID = "userid"
user = api.get_user(userID)
tweets = api.user_timeline(screen_name=userID,
# 200 is the maximum allowed count
count=200,
include_rts = False,
# Necessary to keep full_text
# otherwise only the first 140 words are extracted
tweet_mode = 'extended'
)
for info in tweets[:3]:
print("ID: {}".format(info.id))
print(info.created_at)
print(info.full_text)
print("\n")
感谢来自 https://fairyonice.github.io/extract-someones-tweet-using-tweepy.html 的内容
26
很遗憾,Status
模型在 tweepy
的文档中并没有详细的说明。
user_timeline()
这个方法会返回一系列的 Status
对象实例。你可以使用 dir()
来查看这些对象有哪些属性和方法,或者直接看看 实际的代码实现。
比如,从源代码中你可以看到有 author
、user
以及其他一些属性:
for status in stuff:
print status.author, status.user
或者,你可以打印出 _json
属性的值,这里面包含了API调用的实际响应:
for status in stuff:
print status._json