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

Это очень просто! Благодаря некоторым удивительным библиотекам. Если вы новичок в Python, это отличный проект.

Существует несколько библиотек для очистки данных Twitter, каждая из которых имеет свои преимущества и недостатки. Давайте обсудим их ниже:

  1. Tweepy: Tweepy — это широко используемая оболочка Twitter API на Python, которая позволяет вам получать доступ к данным Twitter, таким как твиты и информация о пользователях, и выполнять действия, такие как публикация твитов и следующие пользователи.
  2. GetOldTweets3. GetOldTweets3 – это библиотека Python, которая позволяет собирать исторические твиты без использования Twitter API. Эта библиотека может извлекать твиты на основе поисковых запросов, имен пользователей или хэштегов.
  3. Twint: Twint – это библиотека Python, которая позволяет очищать данные Twitter, выполняя поиск, собирая информацию о пользователях и собирая твиты из определенного места. Twint также может очищать твиты без использования Twitter API, что делает его полезным инструментом для исследователей, которым необходим доступ к историческим данным.
  4. Snscrape: Snscrape — это библиотека Python, которая позволяет вам очищать данные Twitter без использования Twitter API. Snscrape может извлекать твиты на основе поисковых запросов, имен пользователей или хэштегов, а также может собирать информацию о пользователях.

Лучшая библиотека для очистки Twitter для вас зависит от вашего конкретного случая использования и типа данных, которые вам нужно очистить. Если вам нужны данные в режиме реального времени с помощью API, Tweepy — хороший выбор. Если вам нужны исторические данные, хорошими вариантами будут GetOldTweets3 и Twint (честно говоря, они немного устарели и не помогают в анализе в реальном времени). Если вы хотите очистить данные Twitter без использования Twitter API, Snscrape — полезный инструмент.

Итак, мы собираемся использовать Snscrape, потому что не хотим использовать API.

Начнем

Задание 1. Соберите 100 твитов, содержащих слово «java».

import snscrape.modules.twitter as sntwitter
import pandas as pd

Укажите поисковый запрос в Твиттере и количество твитов для извлечения

query = "java"
num_tweets = 100

Создайте список для хранения твитов

tweets = []

Использование библиотеки snscrape для очистки 100 твитов, содержащих ключевое слово «java», из Twitter. Затем очищенные твиты сохраняются в списке твитов, который содержит кортеж из четырех элементов для каждого твита: дата твита, содержание, имя пользователя и количество лайков.

for i, tweet in enumerate(sntwitter.TwitterSearchScraper(query).get_items()):
    if i >= num_tweets:
        break
    tweets.append((tweet.date, tweet.rawContent, tweet.user.username, tweet.likeCount))

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

tweet_df = pd.DataFrame(tweets, columns = ['Date', 'Content', 'Username', 'Like Count'])

tweet_df

Есть пример вывода

Задача 2. Предположим, вы хотите получить от определенного пользователя 500 твитов, которые Илон Маск опубликовал в период с 10 июля 2018 года по 10 июля 2020 года. Вот как это можно сделать.

import snscrape.modules.twitter as sntwitter
import pandas as pd

query = "(from:elonmusk) until:2020-07-10 since:2018-07-10"
num_tweets = 500

tweets = []

for i, tweet in enumerate(sntwitter.TwitterSearchScraper(query).get_items()):
    if i >= num_tweets:
        break
    tweets.append((tweet.date, tweet.rawContent, tweet.user.username, tweet.likeCount))

tweet_df = pd.DataFrame(tweets, columns = ['Date', 'Content', 'Username', 'Like Count'])

tweet_df

Это все для этого блога. Будьте изобретательны и попробуйте поиграть!

Спасибо за чтение! :)