Как получить список всех ретвитов в твиттере? - PullRequest
22 голосов
/ 11 июня 2011

Я видел множество компаний, проводящих лотереи в Твиттере, где пользователи должны ретвитить свой твит, а затем один из ретвитов получит приз или что-то еще. Мне было интересно, как они получают список всех ретвитов или выбирают победителя?

Я проверил API Twitter и нашел только эту вещь: GET statuses / retweets /: id , но он возвращает максимум 100 ретвитов. Это единственный способ?

Ответы [ 4 ]

17 голосов
/ 15 июня 2011

Похоже, что есть пара сервисов, которые делают это почти точно.Быстрый Google подтягивает http://onekontest.com/, и есть несколько других сервисов конкурса Твиттера, но все они, похоже, находятся на разных уровнях, так как не поспевают за изменениями в API.

КакЧто касается самого API Twitter, то если вы ожидали более 100 ответов, я думаю, что использование GET statuses/mentions имеет смысл.Этот вызов API возвращает любые упоминания о пользователе, и вы можете передать флаг include_rts, чтобы включить любые ретвиты ваших твитов.Затем, если вы хотите перечислить RT определенного твита, вы можете проверить поле in_reply_to_status_id в возвращаемых данных, чтобы увидеть, соответствует ли оно оригинальному идентификатору твита.Этот вызов API возвращает только последние 800 статусов, 200 за раз, поэтому, если вы ожидаете кучу данных, вам потребуется периодически опрашивать API, чтобы получить все твиты.Я полагаю, что такие сервисы, как favstar, делают именно это, только в большем масштабе.

Если вы действительно ищете код для чего-то подобного, я написал приложение sinatra под названием twitter-rss-digest, который обрабатывает запросы Twitter с течением времени для отслеживания различных видов запросов.Это довольно грубо, и не совсем обрабатывает это конкретно, но это может указать вам верное направление, если вы хотите что-то кодировать.

7 голосов
/ 02 декабря 2013

Twitter API имеет конечную точку , которая возвращает до 100 идентификаторов ретвитера для данного твита.

Обратите внимание, что по историческим причинам эта конечная точка возвращает только до 100 результатов , а документация по курсору бесполезна. Твиттер отказался исправить ситуацию.

примечание 2013 года

Тем не менее, первая ветка на сайте разработчиков, появившаяся в быстром Google, имеет @ episod , сотрудник Twitter, говорящий:

Скорее всего, вы не сможете добраться до них всех. Данные разложены. Лучше всего использовать API REST для определения многих пользователей, которые выполняли ретвит, но данные по-прежнему будут ограничены.

Проще всего отслеживать ретвиты по мере их появления, чем пытаться найти их из прошлого. Для этого используйте Streaming API .

1 голос
/ 02 мая 2018

Сайт https://twren.ch/ зачисляет всех ретвитеров для данного твита (обратите внимание, что он привлекает только ретвитеров, которые являются прямыми последователями исходного твитера.) Тем не менее, это, вероятно, единственный общедоступный источник.

1 голос
/ 02 ноября 2011

Мне нравится метод muffinista, но я думаю, что если вы хотите получить 100% полный список ретвитов, просто включите ретвит-уведомления по электронной почте и напишите скрипт, который опрашивает почтовый ящик для тех, кто соответствует теме "ретвитнул один из ваших твитов!"и положить данные в таблицу.Сделайте это с самого начала.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...