#python #api #twitter #tweepy
#python #API #Twitter #tweepy
Вопрос:
Есть ли способ получить доступ ко всем участникам в списке? В настоящее время я могу видеть только первых 20 участников? В частности, я использую python и tweepy.
Комментарии:
1. Если бы только для этого была таблица BigQuery, есть даже скрипт экспорта github.com/twitterdev/twitter-for-bigquery Архив GitHub делает это, например, для GitHub githubarchive.org
2. @self: возможно, это противоречит ToS в Twitter: twittercommunity.com/t/can-i-release-mined-tweets-for-research /…
Ответ №1:
В Tweepy это может быть облегчено с помощью класса Cursor, предоставляемого Tweepy, который реализует соответствующий итератор для возвращаемой вам модели в зависимости от вашего желаемого вызова метода. В вашем случае вы хотите инициализировать курсор с помощью list_members()
метода и параметров для владельца списка и компонента списка (см. https://dev.twitter.com/docs/api/1/get/lists/members ).
Пример (изменен сhttp://packages.python.org/tweepy/html/code_snippet.html#pagination ):
import tweepy
api = tweepy.API() # Don't forget to use authentication for private lists/users.
# Iterate through all members of the owner's list
for member in tweepy.Cursor(api.list_members, 'list_owner', 'slug').items():
# Do something with member...
Я хотел бы связать вас с какой-нибудь актуальной документацией, но единственное, что я могу найти, это документация этой версии 1.4 об использовании курсоров. Эта стратегия по-прежнему является рекомендуемым способом разбиения на страницы / итерации результатов из ресурсов Twitter API в Tweepy.
Комментарии:
1. Также, если у вас уже есть идентификатор списка:
tweepy.Cursor(api.list_members, list_id=list_id)
Ответ №2:
Я не знаю о tweepy. Но REST API Twitter ограничивает результаты. В конце результата это дает какой-то указатель на следующую страницу. Используйте этот указатель 🙂 https://dev.twitter.com/docs/api
Ответ №3:
Попробуйте:
user = tweepy.api.get_user('you or nick')
print user.screen_name
print user.followers_count
for friend in user.friends():
print friend.screen_name