Извлечение данных с использованием нескольких ключевых слов из Twitter с использованием SNSCRAPE
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")