Одна из самых больших проблем при сборе поведенческих данных в реальном времени — узнать, как получить неограниченное количество твитов для вашего проекта без использования tweepy. Такие приложения, как твиттер, фейсбук, инстаграм, являются отличным источником данных.
Этот набор данных можно использовать для разных проектов. Возьмем, к примеру, набор данных Twitter. Вот некоторые из проектов, которые вы можете создать с данными Twitter:
Сравнение работы двух продуктов с одинаковым функционалом от разных компаний
Примером являются Bigquery, Amazon Redshift, Snowflake и Azure Synapses Analytics.
Выполнение анализа настроений продукта, компании или личности
Создайте тренд самых обсуждаемых университетов и того, о чем идет обсуждение.
Твипи API
Существует множество библиотек, используемых для сбора данных из твиттера. Самый популярный из них – твипи. Это требует, чтобы вы создали учетную запись разработчика, которая автоматически дает вам доступ к твиту за последние 7 дней. Если вы хотите большего, вы можете подать заявку на повышенный доступ или академический доступ.
В этой статье я расскажу о том, как вы можете использовать SNScrape для очистки любого количества данных, не создавая никакой учетной записи и не запрашивая дополнительный доступ к tweepy API.
SNScrape
SNScrape — это парсер Python для сервисов социальных сетей. Да, вы все правильно прочитали. SNScrape — это парсер, используемый для сбора данных из различных веб-приложений социальных сетей. Он может собирать данные из Facebook, Instagram, Twitter, Weibo, Telegram и других.
Мы заинтересованы в извлечении данных из твиттера. SNScrape может получить доступ к следующей информации из Twitter: пользователи, профили пользователей, хэштеги, поисковые запросы, твиты, списки сообщений и тренды.
Почему вы должны использовать SNScraper
Первая причина, по которой вы должны использовать SNScraper, заключается в том, что количество твитов, которые вы можете получить, не ограничено.
Во-вторых, вам не нужно проходить аутентификацию, прежде чем вы сможете получить доступ к данным.
В-третьих, вы можете легко использовать его для доступа к услугам одной и той же компании в разных социальных сетях.
Вам все еще нужен Tweepy, так как у вас есть SNScrape?
Этот простой ответ — да, однако это зависит от уровня подробной информации, к которой вы хотите получить доступ. У Tweepy так много функций, которых нет у SNScrape. Если вы просто хотите очистить точки данных, доступные через SNScrape, этого достаточно,
Как использовать SNScrape
Сначала нам нужно установить библиотеку. Я использую ноутбук с Windows. Для установки в Windows
Фрагмент кода
Pip установить snscrape
import snscrape.modules.twitter as snt import pandas as pd query = "UK Economy" tweets = [] limit = 5000 for tweet in snt.TwitterSearchScraper(query).get_items(): # print(vars(tweet)) # break if len(tweets) == limit: break else: tweets.append([tweet.date, tweet.user.username, tweet.likeCount, tweet.sourceLabel, tweet.content]) tweet_data = pd.DataFrame(tweets, columns=["Date", "User", "Number of likes", "Tweeted from", "Tweets"]) print(tweet_data.head()) tweet_data.to_csv('uk_economy.csv', index = None)
Код Пояснение
Импортируйте snscrape.modules.twitter как snt, это импортирует модуль twitter из библиотеки snscrape, затем я назвал его snt, потому что имя длинное. Не стесняйтесь называть это так, как имеет смысл для вас
Импортируйте панд как pd, это импортирует панд как pd. По сути, я использую его для преобразования набора данных в фрейм данных, а затем сохраняю его как значения, разделенные запятыми (csv).
Создайте переменную с именем «запрос» и выберите любой запрос, который вы хотите, в моем случае я выбрал «Экономика Великобритании». Затем создал пустой список с именем «tweets». Это будет содержать все твиты. Наконец, я создал переменную для ограничения количества твитов.
Затем я запустил цикл for для snt.TwitterSearchScraper, который вернет объект твита из параметра поиска. Установленный здесь лимит
У этого класса есть много других атрибутов твита, которые нужно очистить, я выбрал те, которые меня интересуют. Я использую vars() внутри print(), чтобы получить различные атрибуты, доступные для этого класса. Все необходимое вы можете найти в Документации SNScrape
Выход скребка
Теперь, когда вы запускаете свой код, в зависимости от атрибутов, которые вы хотите получить, и параметра вашего запроса, вы получите желаемый результат. Вот первые четыре строки моего результата.
Заключение
Вы узнали, как использовать SNScrape для извлечения данных из твиттера и различных атрибутов, которые поставляются с классом твиттера. В конце концов вы увидели, как получить неограниченное количество твитов для вашего проекта без использования tweepy.
Что дальше я могу сделать с набором данных
Ранее в этой статье я перечислил различные способы использования данных социальных сетей, особенно набор данных Twitter. При создании проекта я всегда выступал за то, чтобы вы начинали с формулировки проблемы и переходили к ее решению.
Прежде чем использовать набор данных, вы должны потратить время на очистку своих данных, извлечь необходимые точки данных, которые вы хотите. Мне нравится использовать регулярные выражения и возможности numpy для получения правильных данных. Вы прочитали как легко преобразовывать данные с помощью регулярных выражений и панд, чтобы узнать больше
Дайте мне знать в комментариях, что вы думаете об этой библиотеке?
Удачного майнинга.
Первоначально опубликовано на https://dekings.dev 30 октября 2022 г.