Как быстрее собирать твиты, используя Twitter API в Python? - PullRequest
5 голосов
/ 22 ноября 2010

Для исследовательского проекта я собираю твиты с помощью Python-Twitter. Однако при непрерывной работе нашей программы на одном компьютере в течение недели нам удается собирать только около 20 МБ данных в неделю. Я запускаю эту программу только на одном компьютере, чтобы мы не собирали одни и те же твиты дважды.

Наша программа запускает цикл, который вызывает getPublicTimeline () каждые 60 секунд. Я попытался улучшить это, вызвав getUserTimeline () для некоторых пользователей, которые появились в общедоступной временной шкале. Тем не менее, это постоянно лишало меня возможности собирать твиты примерно на полчаса каждый раз. Даже без запрета казалось, что добавление этого кода ускорилось очень мало.

Я знаю о «белом списке» Twitter, который позволяет пользователю отправлять больше запросов в час. Я подал заявку на это около трех недель назад, и с тех пор не получаю ответа, поэтому я ищу альтернативы, которые позволят нашей программе более эффективно собирать твиты, не превышая стандартную норму. Кто-нибудь знает более быстрый способ сбора публичных твитов из Twitter? Мы хотели бы получить около 100 МБ в неделю.

Спасибо.

Ответы [ 3 ]

5 голосов
/ 22 ноября 2010

Как насчет использования потокового API ? Это именно тот вариант использования, который был создан для адресации. С потоковым API у вас не возникнет проблем со сбором мегабайтов твитов. Вы по-прежнему не сможете получить доступ ко всем твитам или даже статистически значимым образцам без доступа Twitter.

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

Существует довольно хороший учебник от ars technica по использованию потокового API и Python, который может быть полезен здесь.

В противном случае вы можете попробовать сделать это через cURL.

.

1 голос
/ 23 ноября 2010

Я сделал похожий проект, анализируя данные из твитов. Если вы просто делаете это с точки зрения сбора / анализа данных, вы можете просто очистить любой из лучших сайтов, которые собирают эти твиты по разным причинам. Многие сайты позволяют выполнять поиск по хэштегу, поэтому добавьте достаточно популярный хэштег, и вы получите тысячи результатов. Я просто собрал несколько таких сайтов для популярных хэштегов, собрал их в большой список, запросил этот список на сайте и удалил всю полезную информацию из результатов. Некоторые сайты также позволяют вам экспортировать данные напрямую, что делает эту задачу еще проще. Вы получите много ненужных результатов, которые вам, вероятно, понадобится отфильтровать (спам, иностранный язык и т. Д.), Но это был самый быстрый способ, который сработал для нашего проекта. Twitter, вероятно, не предоставит вам статус белого списка, поэтому я бы точно не рассчитывал на это.

...