Рубрики
Без рубрики

Используя Twitter с Python и Tweepy

Получите практические, реальные навыки Python на наших ресурсах и пути

Автор оригинала: Mike Driscoll.

Twitter – популярная социальная сеть, которую люди используют для общения друг с другом. У Python есть несколько пакетов, которые вы можете использовать для взаимодействия с Twitter. Эти пакеты могут быть полезны для создания Twitter Botts или для загрузки много данных для автономного анализа. Один из более популярных пакетов Python Twitter называется Tweepy Отказ Вы узнаете, как использовать Tweepy с Twitter в этой статье.

Tweepy дает вам доступ к API Twitter, который обнажает следую (плюс лот больше!):

  • Твиты
  • Ретветы
  • Нравится
  • Прямые сообщения
  • Подписчики

Это позволяет вам много делать с Tweepy. Давайте узнаем, как начать!

Начиная

Первое, что вам нужно сделать, это создать учетную запись Twitter и получить учетные данные, которые вам нужно будет получить доступ к Twitter. Для этого вам нужно будет подать заявку на счет разработчика здесь Отказ

Как только это создано, вы можете получить или генерировать следующее:

  • Потребительский API ключ
  • Секрет потребительского API
  • Токен доступа
  • Секрет доступа

Если вы когда-нибудь потеряете эти предметы, вы можете вернуться к своей учетной записи разработчика и регенерация новых. Вы также можете отозвать старые.

Примечание. По умолчанию токен доступа, который вы получаете, является только для чтения. Если вы хотите отправить твиты с Tweepy, то вам нужно будет убедиться, что вы установили Тип приложения «Читать и писать».

Установка Tweepy

Далее вам нужно будет установить Tweepy Package. Это достигается с помощью PIP:

pip install tweepy

Теперь, когда у вас установлен Tweepy, вы можете начать использовать его!

Используя Tweepy

Вы можете использовать Tweepy, чтобы сделать что-либо в Twitter программно. Например, вы можете использовать Tweepy, чтобы получить и отправлять твиты. Вы можете использовать его для доступа к информации о пользователе. Вы можете решить, следуйте/отписаться, пост и гораздо больше.

Давайте посмотрим на пример получения графика домашнего шкала вашего пользователя:

import tweepy

consumer_key = 'CONSUMER_KEY'
consumer_secret = 'CONSUMER_SECRET'
access_token = 'ACCESS_TOKEN'
access_secret = 'ACCESS_SECRET'

auth = tweepy.OAuthHandler(consumer_key, consumer_secret)
auth.set_access_token(access_token, access_secret)

api = tweepy.API(auth)

tweets = api.home_timeline()
for tweet in tweets:
    print('{real_name} (@{name}) said {tweet}\n\n'.format(
        real_name=tweet.author.name, name=tweet.author.screen_name,
        tweet=tweet.text))

Первые несколько строк кода здесь, где вы поставили свои учетные данные, которые вы нашли на странице профиля разработчика Twitter. На самом деле не рекомендуется к жесткому коду эти значения в вашем коде, но я делаю это здесь для простоты. Если вы должны были создать CODE для совместного использования, вы бы хотели, чтобы пользователь был экспортировать свои учетные данные в их среду и использовать Python’s OS.GETENV () или через аргументы командной строки с помощью argparse.

Далее вы входете в Twitter, создав OAUTHHANDLER () Объект и установка токена доступа с открытым именем set_access_token () Функция. Тогда вы можете создать API () Экземпляр, который позволит вам получить доступ к Twitter.

В этом случае вы называете home_timeline (), которая возвращает первые двадцать твитов в вашем домашнем графике. Это твиты от ваших друзей или последователей или могут быть случайными твитами, которые Twitter решил продвигать в вашей графике. Здесь вы распечатаете имя автор, ручку Twitter и текст их твита.

Давайте узнаем, как вы получаете информацию о себе, используя API объект, который вы создали ранее:

>>> me = api.me()
>>> me.screen_name
'driscollis'
>>> me.name
'Mike Driscoll'
>>> me.description
('Author of books, blogger @mousevspython and Python enthusiast. Also part of '
 'the tutorial team @realpython')

Вы можете использовать API, чтобы получить информацию о себе. Вышеупомянутый код демонстрирует получение имени вашего экрана, фактическое имя и описание, которое вы установили в Twitter. Вы можете получить гораздо больше, чем это. Например, вы можете получить свои подписчики, временные шкалы и т. Д.

Получать твиты

Получение твитов также довольно легко сделать использование Tweepy. Вы можете получить свои собственные твиты или кого-то еще, если вы знаете их имя пользователя.

Давайте начнем с получения твитов:

import tweepy

consumer_key = 'CONSUMER_KEY'
consumer_secret = 'CONSUMER_SECRET'
access_token = 'ACCESS_TOKEN'
access_secret = 'ACCESS_SECRET'

auth = tweepy.OAuthHandler(consumer_key, consumer_secret)
auth.set_access_token(access_token, access_secret)

api = tweepy.API(auth)
my_tweets = api.user_timeline()
for t in my_tweets:
    print(t.text)

Здесь вы подключаетесь к Twitter, как и в предыдущем разделе. Тогда вы звоните user_timeline () Чтобы получить список объектов, которые вы тогда повторяете. В этом случае вы в конечном итоге печатаете только текст Tweet.

Давайте попробуем получить конкретный пользователь. В этом случае мы будем использовать довольно популярный программист, Келли Вон:

>>> user = api.get_user('kvlly')
>>> user.screen_name
'kvlly'
>>> user.name
'Kelly Vaughn 🐞'
>>> for t in tweets:
        print(t.text)

Она много твит, поэтому я не буду воспроизводить ее твит. Однако, как вы можете увидеть, это довольно легко получить пользователя. Все, что вам нужно сделать, это пройти get_user () Допустимое имя пользователя Twitter, а затем у вас будет доступ к тому, что публично доступно в этом пользователе.

Отправка твитов

Чтение твитов – веселье, но как насчет отправки? Tweepy может сделать эту задачу для вас.

Давайте узнаем, как:

import tweepy

consumer_key = 'CONSUMER_KEY'
consumer_secret = 'CONSUMER_SECRET'
access_token = 'ACCESS_TOKEN'
access_secret = 'ACCESS_SECRET'

auth = tweepy.OAuthHandler(consumer_key, consumer_secret)
auth.set_access_token(access_token, access_secret)

api = tweepy.API(auth)

api.update_status("This is your tweet message")

Главный бит кода, на котором вы должны сосредоточиться на том, является самая последняя строка: обновить состояние(). Здесь вы проходите в строке, которая является Tweet Message сам. Пока нет ошибок, вы должны увидеть твит в твой твиттере.

Теперь давайте узнаем, как отправить твит с фотографией, прилагаемой к нему:

import tweepy

consumer_key = 'CONSUMER_KEY'
consumer_secret = 'CONSUMER_SECRET'
access_token = 'ACCESS_TOKEN'
access_secret = 'ACCESS_SECRET'

auth = tweepy.OAuthHandler(consumer_key, consumer_secret)
auth.set_access_token(access_token, access_secret)

api = tweepy.API(auth)

api.update_with_media('/path/to/an/image.jpg',
                      "This is your tweet message")

В этом случае вам нужно использовать UPDATE_WITH_MEDIA () метод, который передает путь к изображению, которое вы хотите загрузить и строку, которая является Tweet Message.

Обратите внимание, что пока update_with_media () Простота в использовании, оно также устарело.

Итак, давайте обновим этот пример для использования Media_upload вместо!

import tweepy

consumer_key = 'CONSUMER_KEY'
consumer_secret = 'CONSUMER_SECRET'
access_token = 'ACCESS_TOKEN'
access_secret = 'ACCESS_SECRET'

auth = tweepy.OAuthHandler(consumer_key, consumer_secret)
auth.set_access_token(access_token, access_secret)

api = tweepy.API(auth)

media_list = []
response = api.media_upload('/home/mdriscoll/Downloads/sebst.png')
media_list.append(response.media_id_string)
api.update_status("This is your tweet message", media_ids=media_list)

Здесь вы загружаете средства массовой информации в Twitter и получите его идентификационную строку из возвращаемого ответа. Затем вы добавляете эту строку в список Python. Наконец вы используете update_status () Чтобы твитнуть что-то, но вы также устанавливаете Media_IDs Параметр в ваш список изображений.

Листинг последователей

Последняя тема, которую я собираюсь накрыть, – это то, как перечислять свои последователи в Twitter.

Давайте взглянем:

import tweepy

consumer_key = 'CONSUMER_KEY'
consumer_secret = 'CONSUMER_SECRET'
access_token = 'ACCESS_TOKEN'
access_secret = 'ACCESS_SECRET'

auth = tweepy.OAuthHandler(consumer_key, consumer_secret)
auth.set_access_token(access_token, access_secret)

api = tweepy.API(auth)

followers = api.followers()
for follower in followers:
    print(follower.screen_name)

Этот код будет список последних 20 подписчиков для вашей учетной записи. Все, что вам нужно сделать, это позвонить последователи (), чтобы получить список. Если вам нужно получить больше, чем только последние 20, вы можете использовать Считайте параметр, чтобы указать, сколько вы хотите результатов.

Обертывание

Есть гораздо больше, что вы можете сделать с Tweepy. Например, вы можете получить лайки, отправлять и прочитать прямые сообщения и загрузить носитель, среди прочего. Это довольно хороший и простой в использовании пакет. Вы также можете использовать Tweepy, чтобы прочитать и написать в Twitter в режиме реального времени, что позволяет создавать Twitter Botts. Если вы еще не дали попробовать Tweepy, вы обязательно должны пойти. Это очень весело!

Связанное чтение