Python — это язык с динамической типизацией, который дает разработчикам гибкость для выполнения задач, ориентированных на данные. Мы будем использовать python для извлечения живых твитов из Twitter.

1. Введение

2. Сценарий использования/приложения

3. Код

1. Введение

Основной мотив — получать живые твиты в режиме реального времени. Например. давайте предположим, что мы начали запускать этот скрипт в 16:00, а какой-то пользователь Twitter опубликовал твит, который соответствует нашему интересу, в 16:01, тогда наш скрипт немедленно получит этот твит. Следовательно, эта программа будет получать все твиты, которые были опубликованы после запуска скрипта в режиме реального времени.

Этот блог предназначен только для образовательных целей.

2. Сценарий использования/приложения

Поскольку Twitter является популярной платформой для микроблогов, люди из разных уголков мира продолжают использовать ее, чтобы писать обо всем. Следовательно, мы можем выполнять некоторую аналитику, принимать решения, знать текущий общественный интерес на основе местоположения и знать, заинтересована ли какая-либо популярная знаменитость/влиятельный человек в интересующей нас области, и, поскольку мы делаем это программно, мы также можем выполнять некоторые желаемые действия на основе при определенных событиях.

3. Код

Мы будем использовать замечательный пакет под названием Tweepy, вы можете прочитать документацию на его странице документации.

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

Установите пакет tweepy с помощью следующей команды pip install tweepy.

Запишите свои учетные данные в отдельный файл JSON, потому что это конфиденциальные данные, которые нельзя раскрывать. Приведенный ниже код считывает учетные данные из текстового файла, а затем с помощью методов, предоставляемых tweepy, выполняется аутентификация. После завершения аутентификации мы увидим напечатанный текст «Аутентификация успешно завершена».

После выполнения аутентификации следующим шагом будет настройка потока и прослушивателя.

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

Класс Listener расширяет (наследует) класс StreamListener, который мы получаем из пакета tweepy.

Мы переопределяем метод on_data, этот метод выполняется, когда данные поступают из потока. Мы напишем код для выполнения наших действий после получения данных в этом методе. Поскольку я просто хотел получить первые 10 твитов, я установил счетчик, и если этот счетчик превысит 10, программа завершится.

В этом методе мы вызываем метод print_data, который распечатывает полученные данные (в настоящее время это прокомментировано в коде). Поскольку данные получены в виде необработанной строки JSON, нам нужно преобразовать их в словарь, чтобы упростить их обработку. Для этого мы используем метод json.loads.

Метод on_error запускается, когда мы получаем ошибку из потока, возможная ошибка может быть связана с ограничением скорости, а возврат False приведет к разрыву соединения потока и слушателя.

В конструкторе класса StreamBuilder мы создаем объект Stream, передавая объект аутентификации и объект слушателя.

Метод start запускает поток для определенного списка ключевых слов, упомянутых в списке target_words.

Теперь мы создадим экземпляры классов StreamBuilder и Listener.

Список ключевых слов содержит список интересующих нас слов, и этот список передается в метод запуска, находящийся в классе потока.

Полную демонстрацию видео смотрите здесь.

Исходный код на Github.

Удачного кодирования!

Дополнительные материалы на PlainEnglish.io. Подпишитесь на нашу бесплатную еженедельную рассылку новостей. Подпишитесь на нас в Twitter, LinkedIn, YouTube и Discord.