Справка Twython: есть ли способ поиска пользователей Twitter с определенным ключевым словом в их биографии? - PullRequest
0 голосов
/ 24 января 2019

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

Я использую следующий код для идентификации твитов, а затемавтоматически следить за пользователями, которые твитнули их:

naughty_words = ["example"]
good_words = ["example", "example"]
filter = " OR ".join(good_words)
blacklist = " -".join(naughty_words)
keywords = filter + blacklist

twitter = Twython(consumer_key, consumer_secret, access_token, 
                  access_token_secret)


search_results = twitter.search(q=keywords, count=10)
try:
    for tweet in search_results["statuses"]:
        try:
            st=tweet["entities"]["user_mentions"]
            if st != []:
                twitter.create_friendship(screen_name=st[0]["screen_name"])
        except TwythonError as e:
            print(e)
except TwythonError as e:
    print(e)

Этот код работает отлично, но я хочу больше фильтровать свои результаты, так как этот метод возвращает много пользователей, за которыми я не хочу следить!Кто-нибудь знает, как я мог бы изменить это, чтобы включить второй фильтр, который смотрит на биографии пользователей?

1 Ответ

0 голосов
/ 24 января 2019

В соответствии с Twitter Doc , вы можете искать пользователей на основе строки запроса. Однако, если я проверяю документацию Twython API , кажется, что этот вызов не поддерживается напрямую. Tweepy, с другой стороны, предоставляет соответствующий метод API.search_users, см. здесь .

Не думаю, что вы можете искать пользователей и твиты одним запросом. Поэтому, возможно, придется придерживаться текущего поиска твитов и проверять каждый твит, если вы уже видели этих пользователей. Если нет, вам нужно получить профиль пользователя и проверить, удовлетворяют ли они вашим условиям (возможно, пакетам пользователей для ограничения количества вызовов API).

Редактировать: Возможно, вы также можете использовать Twython для поиска пользователей. Хотя он не предоставляет выделенный метод, он предоставляет общий метод get, где вы можете выполнять вызовы к любой конечной точке. Так что это может выглядеть примерно так:

get('users/search', params={'q': 'soccer music -sex -porn'})

Я сам не пробовал, но вот что я могу получить из Документов Twython.

...