Получить список подписчиков и подписчиков для группы пользователей tweepy

Мне просто было интересно, знает ли кто-нибудь, как перечислить имена пользователей, за которыми подписан пользователь Twitter, и их подписчиков в двух отдельных ячейках .csv. Это то, что я пробовал до сих пор.

import tweepy
import csv

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)

csvFile = open('ID.csv', 'w')
csvWriter = csv.writer(csvFile)

users = ['AindriasMoynih1', 'Fiona_Kildare', 'daracalleary', 'CowenBarry', 'BillyKelleherTD', 'BrendanSmithTD']


for user_name in users:
    user = api.get_user(screen_name = user_name, count=200)
    csvWriter.writerow([user.screen_name, user.id, user.followers_count, user.followers_id, user.friends_id user.description.encode('utf-8')])
    print (user.id)


csvFile.close()

person Community    schedule 21.09.2018    source источник
comment
Какой у вас результат при запуске программы?   -  person T.Woody    schedule 21.09.2018
comment
Я получаю сообщение об ошибке: объект "Пользователь" не имеет атрибута "followers_id" @ T.Woody   -  person    schedule 21.09.2018
comment
Попробуйте подход CRUD и сделайте for row in user: print(row). Оттуда выполните pragma table_info(myTable) и посмотрите, каковы имена столбцов. Я предполагаю, что это опечатка или имя столбца не существует.   -  person T.Woody    schedule 21.09.2018
comment
И, пожалуйста, будьте внимательны, вернувшись сюда и сообщив нам о результатах.   -  person T.Woody    schedule 21.09.2018


Ответы (1)


Tweepy - это оболочка для Twitter API.

Согласно документации Twitter API, вам нужно будет вызвать ПОЛУЧИТЕ друзей / идентификаторы, чтобы получить список их friends (людей, на которых они подписаны), и ПОЛУЧИТЬ подписчиков / идентификаторы, чтобы получить их followers.

Используя оболочку, вы вызываете эти вызовы API косвенно, вызывая соответствующий метод в Tweepy.

Поскольку результатов будет много, вы должны использовать Tweepy Cursor для прокрутки страниц результатов за вас.

Попробуйте приведенный ниже код. Я оставлю вам обрабатывать аспект CSV и применять его к нескольким пользователям.

import tweepy

access_token = "1234"
access_token_secret = "1234"
consumer_key = "1234"
consumer_secret = "1234"

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

for user in tweepy.Cursor(api.friends, screen_name="TechCrunch").items():
    print('friend: ' + user.screen_name)

for user in tweepy.Cursor(api.followers, screen_name="TechCrunch").items():
    print('follower: ' + user.screen_name)
person jschnurr    schedule 21.09.2018
comment
Отлично, спасибо! Хотя я получаю ошибку превышения лимита скорости. Как я могу получить всех пользователей без этой ошибки? - person ; 22.09.2018
comment
Попробуйте api = tweepy.API(auth, wait_on_rate_limit=True); это укажет Tweepy на паузу, пока не истечет лимит скорости, вместо того, чтобы выдавать ошибку. - person jschnurr; 22.09.2018