Как включить всех пользователей в список Twitter API?

#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