Для удобного получения твитов пользователей будем использовать библиотеку tweepy.


In [ ]:
import warnings
warnings.filterwarnings('ignore')
import tweepy

Вводим данные разработчика.


In [ ]:
access_token = ""
access_token_secret = ""
consumer_key = ""
consumer_secret = ""

# Чтобы получить данные разработчика, нужно зарегистрироваться на https://dev.twitter.com и добавить свое приложение.

Получаем доступ к Twitter API.


In [ ]:
auth = tweepy.OAuthHandler(consumer_key, consumer_secret)
auth.set_access_token(access_token, access_token_secret)
api = tweepy.API(auth)

Теперь считаем твиты каждого моего подписчика. Будем брать последние 100 твитов.


In [ ]:
def limit_handled(cursor):
    while True:
        try:
            yield cursor.next()
        except tweepy.RateLimitError:
            time.sleep(15 * 60)
            print('raised RateLimitError')

data = {}
for friend in limit_handled(tweepy.Cursor(api.friends).items()):
    user_timeline = api.user_timeline(screen_name=friend.screen_name, count=100)
    tweets = []
    for status in user_timeline:
        tweets.append(status.text)
    # У некоторых пользователей может быть меньше 100 твитов, поэтому будем дополнять их пустыми строками,
    # чтобы дальше было удобнее работать с записью в файл
    while (len(tweets) < 100):
        tweets.append('')
    data.update({friend.screen_name : tweets})

Данные получены, теперь нужно их красиво оформить в файл. Для этого запишем данные в DataFrame из библиотеки pandas.


In [ ]:
import pandas as pd
df = pd.DataFrame.from_dict(data)
df.to_csv('twitter-data.csv', encoding='utf8')