2017-01-11 4 views
-1

Как я могу получить только мои твиты с потоком? Я проверяю это, но я не вижу своих твитов.Извлечь твиты tweepy

Моя первая попытка:

streamingAPI = tweepy.streaming.Stream(auth, CustomStreamListener()) 
streamingAPI.userstream(_with='followings') 
streamingAPI.filter() 

Моя вторая попытка:

streamingAPI = tweepy.streaming.Stream(auth, CustomStreamListener()) 
streamingAPI.filter(follow= ['2466458114']) 

Большое спасибо.

ответ

0

Если вы хотите транслировать только твиты на ваших пользователей, вы можете использовать следующие строки:

from tweepy import StreamListener 
from tweepy import Stream 
import tweepy 

consumer_key = '' 
consumer_secret = '' 
access_token = '' 
access_token_secret = '' 

auth = tweepy.OAuthHandler(consumer_key, consumer_secret) 
auth.set_access_token(access_token, access_token_secret) 
api = tweepy.API(auth) 

class CustomStreamListener(StreamListener): 

    def on_data(self, data): 
     print(data) 

    def on_error(self, status): 
     print(status) 

if __name__ == '__main__': 
    listener = CustomStreamListener() 
    twitterStream = Stream(auth, listener) 
    twitterStream.filter(follow=['2466458114']) 

В вашем вопросе, вы сказали, что вы не можете видеть ваши твиты. Я не знаю, ясно или нет, но, чтобы быть уверенным, при потоковой передаче вы можете видеть только твиты «реального времени». Итак, также с моим кодом, если вы ничего не чирикаете, вы ничего не видите.

ОБНОВЛЕНИЕ ПОСЛЕ ЧАТ В КОММЕНТАРИИ

Поскольку Twitter Официальный API имеет ограничение заморачиваться ограничений по времени, вы не можете получить старые твиты, чем через неделю.
Для этой задачи я предлагаю вам использовать это замечательное python library.
Он позволяет получить, сколько твитов вы хотите и написано, когда захотите.
Как говорит документация, вы можете просто использовать его таким образом:

tweetCriteria = got.manager.TweetCriteria().setUsername('<[email protected]>').setSince("2015-05-01").setUntil("2015-09-30") 

Если вы используете python2.X вы можете использовать got, вместо этого, если вы используете python3.X вы можете использовать got3.

готовлюсь пример в Python3:

from getOldTweets import got3 
tweetCriteria = got3.manager.TweetCriteria().setUsername('barackobama').setSince("2015-09-01").setUntil("2015-09-30") 
tweets_list = got3.manager.TweetManager.getTweets(tweetCriteria) 
for tweet in tweets_list: 
    print(tweet.text) 

Позвольте мне знать.

+0

Не все мои твиты, например, имеют вчерашний твит? – JackR

+0

Извините, я не понимаю, вам понравятся ваши вчерашние твиты? – Giordano

+0

Все твиты в моей учетной записи, независимо от даты – JackR