TWEEPY STREAM:我的时间线推文

Posted

技术标签:

【中文标题】TWEEPY STREAM:我的时间线推文【英文标题】:TWEEPY STREAM: my timeline tweets 【发布时间】:2014-02-16 12:13:45 【问题描述】:

我需要从我关注的人那里捕捉我在时间线中收到的推文。

我的代码是:

*import sys  
import tweepy 
from tweepy import Stream 
from tweepy.streaming import StreamListener

CONSUMER_KEY = 'fgdg'  
CONSUMER_SECRET = 'fdgdfgdf' 
ACCESS_KEY = 'fgdfgd'  
ACCESS_SECRET = 'dfgdfgdfg' 

auth = tweepy.OAuthHandler(CONSUMER_KEY, CONSUMER_SECRET)  
auth.set_access_token(ACCESS_KEY, ACCESS_SECRET)  
api = tweepy.API(auth)

class listener(StreamListener):

    def on_data(self, data):
        print data
        return True
    def on_error(self, status):
        print status

twitterStream = Stream(auth, listener()) 
twitterStream.filter(track=["order"])*

但这给了我公共信息流。我只想要我的时间线流

【问题讨论】:

twitterStream = Stream(auth, listener()) 我得到错误Traceback (most recent call last): File "scrape_data.py", line 32, in <module> twitterStream = Stream(auth, listener()) TypeError: __init__() takes at least 4 arguments (3 given) 【参考方案1】:

您可以使用Stream 对象的userstream 方法来代替Stream 对象的track 方法。这仅返回出现在用户个人时间线上的数据。要进一步限制返回的推文,您可能需要将_with='user' 传递给userstream。这将返回的事件限制为仅与经过身份验证的用户有关的事件,而不是他们的追随者。

【讨论】:

【参考方案2】:

使用

twitterStream.userstream(encoding='utf8')

而不是

twitterStream.filter(track=["order"])*

【讨论】:

以上是关于TWEEPY STREAM:我的时间线推文的主要内容,如果未能解决你的问题,请参考以下文章

使用 tweepy 返回用户的推文

有没有办法使用 tweepy 在特定时间范围内从特定用户那里获取推文?

如何忽略已在 Tweepy 中转发的推文?

使用 tweepy 和 Twitter API V2 发布推文

使用 tweepy 和 discord.py 将推文发布到特定频道

使用 Tweepy - Python 回复推文