CoderCastrov logo
CoderCastrov
Научный анализ данных

Парсинг Twitter без использования Twitter API (Руководство 2022)

Парсинг Twitter без использования Twitter API (Руководство 2022)
просмотров
3 мин чтение
#Научный анализ данных
Twitter

Обзор

В этом руководстве я научу вас, как парсить твиты Twitter с помощью Twint - инструмента, написанного на Python, который парсит твиты без использования Twitter API.

Преимущества использования "Twint"

  • Может получить почти все твиты (Twitter API ограничивает только последние 3200 твитов).
  • Быстрая начальная настройка.
  • Может использоваться анонимно и без регистрации в Twitter.
  • Нет ограничений по скорости.

Некоторые ограничения "Twint"

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

О версии Python

Twint требует Python 3.6 ~ 3.8 (рекомендуется Python 3.8). Вы можете установить Python 3.8 или создать виртуальное окружение с использованием venv или pyenv-virtualenv.


Учебник по "Twint"

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

DownGit

Создать ссылку на загрузку каталога GitHub

minhaskamal.github.io

Установка "Twint"

Установите Twint с помощью pip с использованием следующей команды:

pip install --upgrade git+https://github.com/kevctae/twint.git

Обратите внимание, что ссылка не является ссылкой на репозиторий оригинального проекта, а является ссылкой на мой форк репозитория. Это связано с тем, что исходный код содержит ошибки, из-за которых инструмент невозможно использовать. Мой форк репозитория исправил некоторые из этих проблем._

Импорт "Twint"

Для запуска простой программы парсинга сначала нужно импортировать пакет.

import twint

Для тех, кто использует Python Notebook, перед запуском любого поиска с помощью Twint, необходимо применить nest_asyncio.

import nest_asyncio
nest_asyncio.apply()

Этот код решает проблемы совместимости с блокнотами и ошибки RunTime.

Настройка параметров поиска

Для запуска поиска сначала нужно создать объект конфигурации.

config = twint.Config()

Затем нужно настроить объект config в соответствии с вашим запросом. В этом примере я буду парсить твиты @elonmusk, используя ключевое слово tesla. Я также ограничу поиск 20 твитами.

config.Username = "elonmusk"
config.Search = "tesla"
config.Limit = 20

Для запуска поиска выполните следующий код:

twint.run.Search(config)

Этот код выведет результаты поиска в консоль.

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

Сохранение результатов в объект "DataFrame" библиотеки "Pandas"

Pandas - это мощный инструмент, который позволяет манипулировать данными для анализа. Чтобы сохранить результаты в объект "DataFrame", сначала нужно импортировать Pandas.

import pandas as pd

Также необходимо добавить следующую переменную в конфигурации:

config.Pandas = True

Теперь можно запустить поиск с новыми конфигурациями. Twint автоматически сохранит объект "DataFrame" в twint.storage. Чтобы получить объект "DataFrame", используйте следующий код:

df = twint.storage.panda.Tweets_df

Теперь у вас будет объект "DataFrame" в переменной df.

Экспорт в файл ".csv"

Чтобы экспортировать в файл .csv, добавьте следующие переменные в конфигурации:

config.Store_csv = True
config.Output = "Output.csv"

Это экспортирует результаты в указанный путь после запуска поиска.


Заключительные замечания

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