CoderCastrov logo
CoderCastrov
Извлечение данных

Извлечение данных с использованием нескольких ключевых слов из Twitter с использованием SNSCRAPE

Извлечение данных с использованием нескольких ключевых слов из Twitter с использованием SNSCRAPE
просмотров
1 мин чтение
#Извлечение данных
Table Of Content

    Анализ данных Twitter становится все более важным во многих областях, включая маркетинг, политику и социальные науки. Этот код позволяет вам собирать твиты, связанные с Йеменом, включая такие термины, как "اليمن" (Йемен), "الحوثي" (Хуситы), "التحالف" (коалиция), "صنعاء" (Санаа), "عدن" (Аден), "مأرب" (Мариб), "المحويت" (Аль-Махвит), "المجلس_الانتقالي_الجنوبي" (Южный переходный совет) и "صعدة" (Саада). Однако, как разработчик, вы можете изменить эти ключевые слова или хэштеги на любом языке и добавить столько ключевых слов, сколько вам нужно, чтобы убедиться, что извлекаемые твиты относятся к этим словам.

    Код использует пакет Python snscrape для сбора твитов с Twitter. snscrape - это библиотека, которая позволяет собирать данные с Twitter без использования его API. Это особенно полезно, поскольку API Twitter ограничивает количество данных, которые можно собрать за определенное время.

    Код начинается с импорта необходимых пакетов, включая pandas и tqdm. pandas - это популярная библиотека для манипулирования данными, которая позволяет легко работать с таблицами данных. tqdm - это библиотека для отображения полосы прогресса при итерации по циклу.

    !pip3 install snscrape 
    
    import pandas as pd
    from tqdm.notebook import tqdm
    import snscrape.modules.twitter as sntwitter
    
    scraper=sntwitter.TwitterSearchScraper("اليمن OR الحوثي OR التحالف OR صنعاء OR عدن OR مأرب OR المحويت OR المجلس_الانتقالي_الجنوبي OR صعدة")
    tweets=[]
    n_tweets=500
    for i,tweet in tqdm(enumerate(scraper.get_items()),total=n_tweets):
        
        data=[
            tweet.date,
            tweet.id,
            tweet.content,
            tweet.user.username,
            tweet.likeCount,
            tweet.retweetCount,
            tweet.lang,
            tweet.sourceLabel,
            tweet.renderedContent,
            tweet.coordinates,
            tweet.place,
            tweet.hashtags
        ]
        
        tweets.append(data)
        if i>n_tweets:
            break
    
    tweet_df = pd.DataFrame(
        tweets, columns=["date","id","tweet","username","like_count","retweet_count","lang","source","renderedContent","coordinates",
                        "place","hashtags"]
    )
    #Сохранение таблицы данных в файл csv
    tweet_df.to_csv("Sent_analysisfinal2223.csv", encoding="utf-32")