CoderCastrov logo
CoderCastrov
Твиттер

Парсинг твитов с использованием библиотеки twitterscraper

Парсинг твитов с использованием библиотеки twitterscraper
просмотров
2 мин чтение
#Твиттер
Table Of Content

    Здесь мы собираемся научиться парсить твиты по определенной теме с использованием библиотеки twitterscraper.

    Сначала нам нужно установить библиотеку twitterscraper, используя следующую команду.

    !pip install twitterscraper

    Теперь, после установки, проверьте, является ли она последней версией. Когда я пишу этот блог, я использую последнюю версию 1.4.0.

    Теперь нам нужно импортировать три вещи: query_tweets, datetime и pandas.

    from twitterscraper import query_tweets
    import datetime as dt
    import pandas as pd

    Теперь мы собираемся указать временной интервал, из которого хотим собрать твиты. Затем мы укажем, сколько твитов мы хотим (здесь мы не получаем точно указанное количество твитов, но примерно). После этого мы укажем, на каком языке нам нужны твиты. Twitter поддерживает 34 разных языка.

    begin_date = dt.date(2020, 4, 14)
    end_date = dt.date(2020, 5, 14)
    limit = 1000
    lang = 'russian'

    Если мы не указываем begin_date и end_date, то будут собраны все твиты. Если мы не указываем ограничение, то будут собраны все твиты за указанный период. Если мы не указываем язык, то будут собраны твиты на всех языках.

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

    tweets = query_tweets("#lockdown AND #India ", begindate=begin_date, enddate=end_date, limit=limit, lang=lang)

    Теперь tweets будут содержать примерно 1000 твитов на русском языке с 14 марта 2020 года по 14 апреля 2020 года о локдауне и Индии.

    Но здесь tweets - это объект, поэтому мы должны преобразовать его в pandas DataFrame с помощью следующего кода.

    df = pd.DataFrame(t.__dict__ for t in tweets)

    Теперь мы можем легко визуализировать все наши собранные твиты. В этом DataFrame df будет 22 столбца или признака. Эти признаки - это Unnamed: 0, has_media, hashtags, img_urls, is_replied, is_reply_to, likes, links, parent_tweet_id, replies, reply_to_users, retweets, screen_name, text, text_html, timestamp, timestamp_epochs, tweet_id, tweet_url, user_id, username и video_url.

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