Использование Tweepy для доступа к Premium API Twitter
Я хочу получить доступ к архиву Твиттера без ограничений по скорости или количеству запросов. Я не против заплатить за это, поэтому я планировал подписаться на премиум-пакет на платформе API Twitter. Поскольку я знаком с Tweepy, я надеялся получить доступ к API своим обычным способом.
Однако, похоже, что единственный способ, которым я могу запросить API с премиальными учетными данными в Python, - это Python Twitter Search API, который по сути является оболочкой Python для премиум-сервиса. Проблема в том, что протоколы аутентификации для премиум-доступа не такие, как для бесплатного доступа с ограниченной скоростью. Это очень раздражает, так как searchtweets
Библиотека, которая поддерживает Python Twitter Search API, выглядит довольно примитивно, и я не могу понять смысл документации.
Кто-нибудь знает, возможно ли использовать Tweepy для доступа к премиум-уровням для Twitter? Странно, что лучшие инструменты работают только на бесплатном уровне.
1 ответ
Это неправда. Вы можете использовать одинаковые учетные данные (при условии, что вы авторизованы в Твиттере) как для стандартного поиска, так и для расширенного поиска.
Оболочка Python в TwitterAPI поддерживает оба - https://github.com/geduldig/TwitterAPI
from TwitterAPI import TwitterAPI
api = TwitterAPI(consumer_key, consumer_secret, access_token_key, access_token_secret)
r = api.request('tweets/search/fullarchive/:YOUR_LABEL',
{'query':YOUR_SEARCH_TERMS})
for item in r:
print(item)
Tweepy теперь поддерживает премиальный API, как описано здесь. Мне пришлось установить с github, а не pip. См. Документацию для API.search_30_day и API.search_full_archive, а также соответствующую документацию для API расширенного поиска.
pip install --upgrade git+https://github.com/tweepy/tweepy@master
В
api
отличается.
api.search
становится
api.search_full_archive
или же
api.search_30_day
.
# premium search
tweets=tp.Cursor(api.search_full_archive,environment_name='you_env_name_here', query=search_words, fromDate=date_since).items(100)
# free search
tweets=tp.Cursor(api.search, q=search_words, lang="en",since=date_since).items(100)