如何在tweepy中返回实际推文?
我在用tweepy写一个推特程序。当我运行这段代码时,它打印出了一些Python的...值,比如
<tweepy.models.Status object at 0x95ff8cc>
这可不好。我该怎么才能获取到真实的推文呢?
import tweepy, tweepy.api
key = XXXXX
sec = XXXXX
tok = XXXXX
tsec = XXXXX
auth = tweepy.OAuthHandler(key, sec)
auth.set_access_token(tok, tsec)
api = tweepy.API(auth)
pub = api.home_timeline()
for i in pub:
print str(i)
5 个回答
1
api.home_timeline()
这个方法会返回一个包含20个推文的列表,这些推文是最热门的20条。也就是说,每条推文都被看作是一个 Status 类的对象。每个 Status 对象都有一些属性,比如 id(推文的编号)、text(推文的内容)、user(发布推文的用户)、place(地点)、created_at(创建时间)等等。
下面的代码会打印出推文的编号和内容:
tweets = api.home_timeline()
for tweet in tweets:
print tweet.id, " : ", tweet.text
3
看看这个getstate()方法,它可以用来查看返回的对象。
for i in pub:
print i.__getstate__()
24
一般来说,你可以使用 Python 中的 dir()
这个内置函数来查看一个对象的内容。
看起来 Tweepy 的文档在这方面信息不太够,但我想 Status 对象的结构应该和 Twitter 的 REST 状态格式相似,比如你可以参考这个链接: https://dev.twitter.com/docs/api/1/get/statuses/home_timeline
所以——试试
print dir(status)
看看状态对象里面有什么内容
或者你也可以这样做,
print status.text
print status.user.screen_name