CoderCastrov logo
CoderCastrov
Футбол

Парсинг футбольных твитов с использованием Snsscraper и Python

Парсинг футбольных твитов с использованием Snsscraper и Python
просмотров
2 мин чтение
#Футбол

Существует множество библиотек для парсинга Twitter, среди самых популярных - Tweepy и Twint, но на мой взгляд лучше всего работает snsscraper, созданный JustAnotherArchivist.

Мы собираемся использовать его код, но с небольшим изменением, чтобы пройтись по разным месяцам и получить временной ряд данных. Я использовал это для недавнего проекта в колледже, чтобы парсить 10 000 твитов в день, но тогда я не использовал цикл, поэтому сохранение данных и повторный запуск были довольно ручными, но здесь мы будем использовать формулу для указания количества дней в будущем!

Темой будет Жозе Моуриньо, который на момент написания статьи завоевал первый трофей Ромы за десятилетие и стал первым тренером, выигравшим все доступные ему европейские трофеи.

Установка

Рекомендуется использовать версию для разработки, которую можно установить в блокнотах Jupyter с помощью следующей команды:

!pip install git+https://github.com/JustAnotherArchivist/snscrape.git

Использование

После успешной установки мы можем создать следующее:

  1. Импортировать необходимые библиотеки.

  2. Создать функцию TweetScrape, которая принимает следующие параметры:

  • Day: Целое число от 1 до 31
  • Month: Целое число от 1 до 12
  • Year: Целое число, например 2022
  • num_tweets_per_day: Целое число
  • total_tweets: Целое число
  • Обратите внимание, что функция предназначена для перехода на предыдущие дни после указанной начальной даты. Таким образом, она будет перемещаться вперед на x количество дней, основываясь на значении формулы: общее количество дней для перехода в будущее = общее количество твитов / количество твитов в день. Например, 100/20 = 5 дней.

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

В этом примере я установил 2000 твитов в день с максимальным количеством 4000, что означает, что мы будем перемещаться вперед на два дня. Я указал это для начала 24 мая 2022 года.

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

Вот как должен выглядеть ваш конечный результат при вызове dataframe или dataframe.head()

Подписывайтесь на меня, чтобы получать больше статей, связанных с футболом!