Одна из самых больших проблем при сборе поведенческих данных в реальном времени — узнать, как получить неограниченное количество твитов для вашего проекта без использования 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 г.