Фильтрация твитов по хештегам и user_mentions
Я хочу получать твиты в реальном времени с использованием потокового API, а затем фильтровать их по списку хэштегов и user_mentions, которые у меня есть. Должны быть выбраны только те твиты, которые имеют какой-либо хэш-тег среди одного из элементов в списке хэш-тегов или имеют user_mention среди одного из элементов в списке user_mentions.
Я думал о том, чтобы сначала получить все твиты, а затем, читая их, я бы извлек поля хэштегов и user_mentions и посмотрел, есть ли пересечение между этим набором и тем, который у меня есть. Проблема в том, как получить все твиты.
Что следует указывать в качестве параметра дорожки в stream.filter().
Или есть более аккуратный способ сделать это?
1 ответ
Если у вас есть наборы хэштегов и упоминаний пользователей, вы можете отслеживать их напрямую.
# Lets say I have a user_mentions list...
user_mentions = ['@this_guy', '@that_guy', '@those_guys']
# And a hashtags list...
hashtags = ['#ThisHastag', '#ThatHashtag']
# You can merge them into one list of terms to be tracked
track_terms = user_mentions + hashtags
# The list "track_terms" now looks like this:
# track_terms = ['@this_guy', '@that_guy', '@those_guys', '#ThisHastag', '#ThatHashtag']
# Passing these to .filter() will collect tweets containing those terms
stream.filter(track=track_terms)