Я новичок в этой штуке с Twitter API, поэтому мне нужна ваша помощь. Я работаю над проектом, в котором мне нужно извлечь информацию (например, количество подписчиков / друзей) о длинном списке пользователей Twitter ( пожалуйста, посмотрите некоторые части проекта здесь ). Я продолжаю сталкиваться с двумя проблемами:
- если пользователь больше не активен в твиттере (приостановленные / удаленные учетные записи), он возвращает ошибки, которые усекают процесс поиска пользовательских функций, для которых мне придется удалить пользователя из списка и начать все сначала.
- Когда нет усечения (т. е. парсер не столкнулся с неактивными учетными записями), твиттер API не позволит получить более нескольких сотен запросов за раз, поэтому я буду необходимо вручную обновить следующую партию.
Где нужна помощь :
- Как я могу использовать api.look_user () (или другие полезные функции ), чтобы получить список / диктовку только активных учетных записей из моего длинного списка? Затем я могу ввести этот список активных пользователей только [имя пользователя] в свой код (как показано ниже).
- Как я могу обойти ограничение скорости, установленное Twitter, ИЛИ автоматически продлевать запрос после каждого тайм-аута, пожалуйста?
auth = tweepy.OAuthHandler(api_key, api_secret_key)
auth.set_access_token(access_token, access_token_secret)
api = tweepy.API(auth, wait_on_rate_limit=True,wait_on_rate_limit_notify=True)
#create dictionary
user_dict = {}
userName = (list of usernames to be parsed to retrieve their followers/friends count)
try:
with open('follower_friend_count.csv', mode='w') as yourFile:
#header
cols = ["username", "followers_count","friend_count"]
writer = csv.DictWriter(yourFile, fieldnames=cols)
#prints header
writer.writeheader()
#Initiate count to monitor returned username counts
count = 0
# Write dictionary into csv file
for i in userName:
#find follower count and friend count from userName
follower_count = api.get_user(i).followers_count
friend_count = api.get_user(i).friends_count
#print(i, follower_count, friend_count)
#Assign values to dictionary
user_dict[i] = follower_count, friend_count
writer.writerow({cols[0]:i, cols[1]:follower_count, cols[2]:friend_count})
count = count + 1
print(count)
#print("dictionary: ", user_dict)
except IOError:
print("I/O error")
#Notify me when operation is completed
print("File write completed\n")