Получение твитов с хэштегом из Twitter с помощью Python
Как мы можем найти или получить твиты на основе хэш-тега. то есть я хочу найти твиты по определенной теме? Возможно ли в Python использовать Twython?
Спасибо
1 ответ
РЕДАКТИРОВАТЬ Мое оригинальное решение с использованием хуков Twython для API поиска, похоже, больше не действует, потому что Twitter теперь хочет, чтобы пользователи проходили аутентификацию для использования Search. Чтобы выполнить поиск с аутентификацией через Twython, просто укажите свои учетные данные для аутентификации Twitter при инициализации объекта Twython. Ниже я привожу пример того, как вы можете это сделать, но вы хотите обратиться к документации по API Twitter для GET/search/tweets, чтобы понять различные необязательные параметры, которые вы можете назначить при поиске (например, странице через результаты, установите диапазон дат и т. д.)
from Twython import Twython
TWITTER_APP_KEY = 'xxxxx' #supply the appropriate value
TWITTER_APP_KEY_SECRET = 'xxxxx'
TWITTER_ACCESS_TOKEN = 'xxxxxx'
TWITTER_ACCESS_TOKEN_SECRET = 'xxxxx'
t = Twython(app_key=TWITTER_APP_KEY,
app_secret=TWITTER_APP_KEY_SECRET,
oauth_token=TWITTER_ACCESS_TOKEN,
oauth_token_secret=TWITTER_ACCESS_TOKEN_SECRET)
search = t.search(q='#omg', #**supply whatever query you want here**
count=100)
tweets = search['statuses']
for tweet in tweets:
print tweet['id_str'], '\n', tweet['text'], '\n\n\n'
Оригинальный ответ
Как указано здесь в документации по Twython, вы можете использовать Twython для доступа к API поиска Twitter:
from twython import Twython
twitter = Twython()
search_results = twitter.search(q="#somehashtag", rpp="50")
for tweet in search_results["results"]:
print "Tweet from @%s Date: %s" % (tweet['from_user'].encode('utf-8'),tweet['created_at'])
print tweet['text'].encode('utf-8'),"\n"
и т.д.... Обратите внимание, что для любого конкретного поиска вы, вероятно, максимально увеличите до 2000 твитов, вернувшись назад примерно на неделю или две. Вы можете узнать больше об API поиска в Twitter здесь.