ВГОРУ  

Зішкріб: Що це таке, як ним користуватися і не тільки!

Якщо ви працювали з даними соціальних мереж, то могли натрапити на інструмент під назвою "snscrape".

Як людина, яка часто використовує різні програмні інструменти, я виявив, що snscrape є чудовим інструментом для деяких завдань, особливо коли у поєднанні з проксі.

Тож давайте розберемося, що таке snscrape, як він працює і чому він може змінити ваші робочі процеси збору даних.

TL;DR:

  • Snscrape - це Python-інструмент для вилучення інформації з соціальних мереж без використання API.  
  • It works with Twitter/X, Facebook, Instagram, Redditі багато іншого.  
  • Ви можете витягувати твіти, профілі користувачів, хештеги та зберігати їх у форматі CSV.  
  • Для масштабного скрапінгу використовуйте проксі-сервери, щоб уникнути блокування та обмеження швидкості.
Повний посібник зі Snscrape

Зміст

  1. Що таке Snscrape?
  2. Як працює Snscrape?
  3. Як користуватися Snscrape
  4. Які дані можна витягти з Twitter за допомогою Snscrape?
  5. Випадки використання Snscrape
  6. Як додати проксі до Snscrape
  7. Чому варто використовувати проксі за допомогою Snscrape
  8. Альтернативи Snscrape
  9. Чи легальний Snscrape?
  10. Часті запитання про Snscrape
  11. Висновок

1. Що таке Snscrape?

зішкріб
Скріншот за посиланням GitHub

Snscrape - це бібліотека Python, яка дозволяє вилучати дані з соціальних мереж, таких як X (Twitter), Facebook та Instagram.

На відміну від багатьох інших інструментів для скрепінгу, snscrape не вимагає ключа API, що робить його доступним для широкого кола користувачів, в тому числі тих, хто не володіє технічними знаннями для використання API.

Переваги скрабу

Snscrape має кілька переваг, на які варто звернути увагу:

  1. Ключ API не потрібен: Це значна перевага. Більшість платформ соціальних мереж вимагають ключ API для вилучення даних, що може бути проблемою для багатьох користувачів. Це одна з причин, чому багато людей віддають перевагу Snscrape.
  2. Гнучкість: Ви можете налаштувати свої пошукові запити настільки широко, наскільки вам потрібно. Ця гнучкість має вирішальне значення для досліджень, які вимагають збору нюансованих даних.
  3. Простота використання: Для тих, хто знайомий з Python, snscrape є зручним у використанні. Його прості команди та структура дозволяють легко інтегрувати його у ваш робочий процес збору даних.

2. Як працює Snscrape?

Використання snscrape відносно просте, особливо якщо ви маєте базове розуміння Python.

Інструмент працює шляхом вилучення загальнодоступних даних з веб-сайтів соціальних мереж. Наприклад, ви можете використовувати його для збору твітів, що містять певні ключові слова, хештеги або від певних користувачів.

Ось простий приклад:

Якщо ви хочете зішкребти твіти що містить хештег #technology, ви напишете скрипт Python з використанням snscrape для пошуку цього хештегу, а потім витягнете відповідні твіти.

Ось як працює Snscrape:

  • Зішкребти: Ви запускаєте Snscrape на своєму комп'ютері, щоб збирати публічні пости з таких платформ, як X (Twitter).
  • Довірена особа: Проксі приховує ваш IP і допомагає уникнути блокування при скрапінгу.
  • Павутина: Snscrape надсилає запити на сайт і завантажує публічні дані, наприклад, твіти.
  • Дані: Потім він перетворює ці дані в чистий, читабельний формат, наприклад, JSON або CSV, який ви можете використовувати.
як працює Snscrape.

3. Як користуватися Snscrape

Для початку вам знадобиться базова установка, яка включає в себе Python, встановлений на вашому комп'ютері. Потім ви можете встановити snscrape за допомогою pip, інсталятора пакунків Python. Після встановлення ви можете почати писати скрипти для вилучення потрібних вам даних.

Ось простий посібник, який допоможе вам розпочати роботу з цим потужним інструментом.

a. Установка

По-перше, вам потрібно встановити snscrape. Відкрийте командний рядок або термінал і введіть наступну команду:

bashКопіювати код

pip install snscrape

Ця команда використовує менеджер пакунків Python, pip, для завантаження та встановлення скрепера.

b. Написати базовий скрипт

Після встановлення ви можете почати писати Python-скрипт для вилучення даних. Припустимо, ви хочете зібрати твіти з певним хештегом. Ось базовий приклад:

import snscrape.modules.twitter as sntwitter # Визначаємо кількість твітів для вилучення max_tweets = 100 # Використання TwitterSearchScraper для вилучення даних та додавання твітів до списку for i, tweet in enumerate(sntwitter.TwitterSearchScraper('#technology').get_items()): if i > max_tweets: break print(tweet.content)

Цей скрипт вилучить останні 100 твітів, що містять хештег #technology.

c. Запустіть свій скрипт

Збережіть ваш скрипт як .py і запустіть його за допомогою Python. Скрипт буде виконано, і ви почнете бачити твіти, роздруковані у вашому командному рядку або терміналі.

d. Як налаштувати свій запит

Ви можете легко змінити пошуковий запит. Наприклад, якщо ви хочете отримати твіти певного користувача, ви можете змінити запит у розділі TwitterSearchScraper метод:

sntwitter.TwitterSearchScraper('from:username')

Замінити ім'я користувача з твіттером користувача, твіти якого ви хочете зіскребти.

e. Обробка даних

Зібрані вами дані можна зберігати в різних форматах. Наприклад, ви можете зберегти твіти у файлі CSV для полегшення аналізу. Ви можете змінити свій скрипт, щоб записувати вилучені дані у файл:

import csv # ... [попередній код] # Відкрити/створити файл для додавання даних до csvFile = open('scraped_tweets.csv', 'a', newline='', encoding='utf8') # Використовуємо csv writer csvWriter = csv.writer(csvFile) csvWriter.writerow(['id', 'date', 'tweet']) for i, tweet in enumerate(sntwitter.TwitterSearchScraper('#technology').get_items()): if i > max_tweets: break csvWriter.writerow([tweet.id, tweet.date, tweet.content]) csvFile.close()

Цей скрипт збереже ідентифікатор твіту, дату і вміст у CSV-файл з назвою scraped_tweets.csv.

Отримуйте стабільні результати 📊.

Втомилися від непослідовних відповідей від snscrape? Чисті домашні IP зменшують кількість капч і заблокованих запитів.

Покращення стабільності вискоблювання

4. Які дані можна отримати з Twitter за допомогою Snscrape?

Snscrape може допомогти вам витягти широкий спектр даних з X (Twitter). Ось перелік різних точок даних, які можна вилучити за допомогою snscrape:

a. Твіти

Основне використання snscrape - це збір твітів. Це включає в себе:

  • Вміст твіту: Власне текст твіту.
  • Tweet ID: Унікальний ідентифікатор для кожного твіту.
  • Дата і час: Коли був опублікований твіт.
  • URL-адреси: Будь-які посилання, включені в твіт.

b. Інформація про користувача

Snscrape дозволяє збирати інформацію про користувачів Twitter, таку як:

  • Ім'я користувача: Твіттер користувача.
  • Ідентифікатор користувача: Унікальний ідентифікатор для кожного користувача.
  • Опис профілю: Біографія користувача або опис профілю.
  • Розташування: Місцезнаходження, вказане користувачем у своєму профілі (якщо доступне).

c. Показники залученості

Хоча snscrape не збирає безпосередньо метрики залученості, такі як лайки чи ретвіти, ви все одно можете їх збирати:

  • Кількість ретвітів: Кількість разів, коли твіт був ретвітований (для деяких твітів).
  • Підрахунок відповідей: Кількість відповідей на твіт (для деяких твітів).

d. Хештеги та згадки

Snscrape може витягувати певні елементи з твітів, зокрема:

  • Хештеги: Будь-які хештеги, використані в твіті.
  • Згадки: Імена користувачів інших акаунтів X (Twitter), згаданих у твіті.

e. Медіа-контент

Якщо твіт містить медіа, snscrape може допомогти вам його ідентифікувати:

  • URL-адреси медіа: Посилання на зображення або відео, прикріплені до твіту.

f. Розширені пошукові запити

Snscrape може обробляти розширені пошукові запити, дозволяючи вам сканувати твіти на основі:

  • Ключові слова: Твіти, що містять певні слова або фрази.
  • Діапазони дат: Твіти, опубліковані протягом певного періоду часу.
  • Географічне розташування: Твіти з певного географічного місця (якщо доступні дані про місцезнаходження).

Кожен твіт міститиме такі поля, як

  • ідентифікатор: Унікальний ідентифікатор твіту
  • дата: Коли було опубліковано твіт
  • зміст: Повний текст твіту
  • user.username: Хто це виклав?
  • retweetCount, likeCountі т.д.

g. Дані теми та розмови

Ви також можете використовувати snscrape для відстеження потоків розмов, витягуючи їх:

  • Розмовні твіти: Відповіді та цитовані твіти, що дозволяє відстежувати розмови.

5. Варіанти використання Snscrape: Від простого до складного

Snscratch має широкий спектр застосування. Ось як люди використовують його в роботі - від повсякденного зішкрябування до більш просунутих, автоматизованих установок.

a. Повсякденні випадки використання Snscrape

Нижче наведено найпоширеніші способи використання snscrape для виконання разових завдань або невеликих проектів:

  • Дослідження ринку: Зішкребти згадки про продукти, бренди чи тренди, щоб зрозуміти, як люди говорять про них у реальному часі.
  • Академічні дослідження: Збирайте набори даних для досліджень політичного дискурсу, поведінки в Інтернеті або громадської думки.

Вам не потрібні складні налаштування - лише скрипт на Python і чіткий пошуковий запит.

b. Автоматизація скребків за допомогою Cronjobs

If you want to collect data continuously—daily, hourly, or weekly—you can schedule your snscrape script using cronjobs (Linux/macOS) or Windows Task Scheduler.

Це ідеальний інструмент для щоденного або щогодинного відстеження згадувань або для побудови часових рядів даних для виявлення тенденцій або настроїв.

Порада професіонала: Переконайтеся, що ваш скрипт обертає імена файлів і обробляє обмеження швидкості, якщо ви хочете уникнути перезапису даних або блокування сервера.

c. Географічний скрайбінг для отримання локальної інформації

Потрібні дані на основі місцезнаходження? Snscrape підтримує географічні фільтри за допомогою "біля:" і "в межах" у вашому запиті.

Приклад:

Використовуйте його для таких речей, як: регіональний моніторинг реагування на стихійні лиха, ставлення до бренду в конкретному місті або згадки про нього.

Ви навіть можете поєднати це з з тих пір: і до тих пір: для даних за певну дату.

d. Конвеєри відстеження потоків і науки про дані

Для більш складного аналізу часто використовують snscrape:

  • Видаляйте цілі потоки розмов (включаючи відповіді та цитати)
  • Створюйте марковані набори даних для НЛП, тематичного моделювання або машинного навчання
  • Оптимізуйте вилучення твітів у фрейм даних pandas DataFrame для попередньої обробки

Приклад:

Від класифікації настроїв до кластеризації розмов за темами, Snscrape є фаворитом у наука про дані та дослідницької спільноти.

6. Як додати проксі до Snscrape

Додавання довірена особа to snscrape може покращити ваші можливості скрапінгу в десятки разів. Він забезпечує анонімність і обходить обмеження швидкості, а також географічно заблокований контент.

Ось покроковий посібник з інтеграції проксі з snscrape:

a. Вибір проксі-сервісу

Виберіть надійний проксі-сервіс. Існують різні типи проксі-серверів доступні, в тому числі безкоштовні та платні послуги. Останні, як правило, пропонують кращу надійність і швидкість. Я пропоную наступні типи проксі-серверів для використання разом з Snscrap.

b. Отримайте інформацію про довірену особу

Після того, як ви вибрали проксі-сервіс, зберіть необхідну інформацію: адресу проксі-сервера, номер порту і, якщо можливо, ім'я користувача та пароль.

🚨 Обережно: Snscrape не підтримує інжекції сесій, тому використання проксі відбувається опосередковано через об'єкт сесії вашого запиту.

c. Налаштуйте ваш скрипт Python

Далі вам потрібно модифікувати ваш скрипт Python для маршрутизації запитів snscrape через проксі.

Ось приклад того, як це зробити:

import snscrape.modules.twitter as sntwitter import requests # Конфігурація проксі proxies = { 'http': 'http://username:password@proxyserver:port', 'https': 'https://username:password@proxyserver:port', } # Створіть сесію та налаштуйте її на використання проксі session = requests.Session() session.proxies.update(proxies) # Використовуйте snscrape з сесією для твіту в sntwitter.TwitterSearchScraper('keyword', session=session).get_items(): print(tweet.content)

Замінити ім'я користувача, пароль, проксі-сервері порт з даними вашого довіреної особи. The ключове слово слід замінити на ваш пошуковий запит.

7. Чому варто використовувати проксі за допомогою Snscrape

  1. Обмеження швидкості обходу: Проксі-сервери можуть допомогти уникнути перевищення лімітів швидкості X (Twitter), розподіляючи запити між різними IP-адресами.
  2. Уникайте заборон IP-адрес: Регулярне скребкування з одного і того ж IP може призвести до банів. Проксі-сервери зменшують цей ризик шляхом ротація IP-адреси.
  3. Доступ до географічно обмеженого контенту: Проксі-сервери можуть надавати IP-адреси з різних місць, що дозволяє отримати доступ до контенту з певного регіону.
  4. Анонімність і конфіденційність: Використання проксі приховує вашу реальну IP-адресу, підвищуючи вашу конфіденційність і знижуючи ризик відстеження.
  5. Покращена продуктивність: Проксі-сервери можуть пришвидшити отримання даних і зменшити ризики перевантаження сервера за рахунок розподілу навантаження.

8. Альтернативи Snscrape

Хоча snscrape є надійним інструментом для вилучення даних із соціальних мереж, бувають ситуації, коли вам може знадобитися альтернатива (найкращі інструменти для вилучення даних з Інтернету). Незалежно від того, чи це пов'язано з різними вимогами до функцій, підтримкою платформи або простотою використання, перевірка інших інструментів може бути корисною. Ось кілька помітних альтернатив snscrape:

ІнструментНайкраще дляБез API?Потрібне кодування?
SnscratchВишкрібання Twitter/X
ТвінтВеликі набори даних Twitter
Скребок.Загальне очищення веб-сайту
ВосьмипалийСкрапінг на основі графічного інтерфейсу (без кодування)
ParseHubСкладні сторінки (важкі JS/AJAX)

a. Твінт

Твінт ще одна популярна бібліотека Python для вишкрібаю твіттер даних. Він відомий своєю здатністю витягувати велику кількість твітів без використання API Twitter або будь-якої автентифікації. Twint може отримувати різноманітну інформацію, включаючи твіти, підписників, вподобання тощо. Це особливо корисно для тих, кому потрібно зібрати великі набори даних з Twitter.

b. Scrapy

Скребок.
Копирайт изображения: Scrapy

Скребок. є більш загальним вебскрейпінгом фреймворк на Python. Хоча він не розроблений спеціально для соціальних мереж, він неймовірно потужний для вилучення даних з будь-якого веб-сайту. Scrapy підходить для складних завдань з вилучення даних і пропонує широкі можливості налаштування та контролю над вашими завданнями з вилучення. Він ідеально підходить для користувачів, які мають більш просунуті навички програмування і потребують вилучення даних з різних джерел.

c. BeautifulSoup

BeautifulSoup - це бібліотека Python для синтаксичного аналізу HTML та XML документів. Її часто використовують у поєднанні з бібліотекою запитів для вилучення даних з веб-сторінок. Хоча BeautifulSoup вимагає більше налаштувань у порівнянні з snscrape, вона пропонує велику гнучкість і є потужним інструментом для вилучення даних з веб-сторінок, які не обов'язково є платформами соціальних мереж.

d. Восьмипалий

Восьмипалий
Копирайт изображения: Octoparse

Восьмипалий це зручний інструмент для вилучення даних, який не вимагає навичок програмування. Він підходить для непрограмістів або тих, хто віддає перевагу графічному інтерфейсу для вилучення даних. Octoparse може обробляти як прості, так і складні дані з різних типів веб-сторінок, включаючи сайти соціальних мереж.

e. Data Miner

Dataminer
Зображення: Data Miner

Data Miner це розширення для браузерів Chrome і Edge, яке дозволяє витягувати дані з веб-сторінок і зберігати їх у різних форматах, зокрема в Excel і Google Sheets. Воно дуже зручне у використанні і підходить для тих, кому потрібно швидко вилучати дані без написання коду.

f. ParseHub

Parsehub
Копирайт изображения: ParseHub

ParseHub це інструмент візуального вилучення даних, оснащений технологією машинного навчання для ідентифікації, вилучення та перетворення даних з веб-сторінок. Перевірте наш ParseHub review. Це потужний інструмент для скрапінгу складних веб-сайтів, який може обробляти веб-сайти з JavaScript і AJAX.

Так.snscrape зішкрябує лише загальнодоступні данінаприклад, твіти, імена користувачів, хештеги та часові мітки. Це робить не отримати доступ до приватних повідомлень або контенту, захищеного логіном.

Тим не менш, законність не завжди є чорно-білою. Хоча вилучення публічних даних, як правило, є законним, такі платформи, як Twitter/X та Instagram, мають умови надання послуг, які можуть забороняти автоматизований доступ.

🛡️ Як відповідально використовувати snscrape:

  • Не шукайте за платними стінами або логінами
  • Поважайте ліміти швидкості та цілісність ділянки
  • Завжди перевіряйте останні політики платформи

Дізнайтеся більше тут: Чи законний веб-скрепінг?

10. Часті запитання про Snscrape

Для чого використовується скретч?

Snscrape - це інструмент на основі Python для вилучення публічних даних з таких платформ, як Twitter (тепер X), Instagram, Facebook і Reddit. Його зазвичай використовують для збору твітів, відстеження хештегів, моніторингу активності користувачів або створення наборів даних для досліджень та аналізу даних - і все це без використання ключа API.

Чи є snscrape кращим за API Twitter?

Snscrape краще підходить для випадкового або гнучкого вилучення публічних даних Twitter, оскільки він не вимагає ключа API і має менше кроків налаштування та обмежень швидкості. Однак йому не вистачає повного доступу та структурованих кінцевих точок, які пропонує офіційний API Twitter. Це робить API більш придатним для корпоративного або великомасштабного використання.

Чи працює snscrape для Instagram або Facebook?

Snscrape має обмежену підтримку Instagram та Facebook. Скрейпінг на цих платформах менш надійний через часті зміни верстки та заходи проти ботів. Snscrape найкраще працює з Twitter і Reddit, в той час як скрейпінг Facebook і Instagram може частіше ламатися і вимагати додаткових інструментів, таких як проксі-сервери.

Чи можна заблокувати за допомогою snscrape?

Так, ви можете бути заблоковані, якщо будете скребти занадто агресивно або надсилати занадто багато запитів за короткий час. Щоб уникнути цього, ми наполегливо рекомендуємо вам застосовувати затримки запитів або використовувати проксі-сервіси для ротації IP-адрес і обходу обмежень швидкості. І все це при збереженні доступу до публічних даних.

11. Заключні слова

Snscrape - чудовий інструмент для вилучення даних із соціальних мереж. Володіючи базовими навичками Python, ви можете налаштувати скрейпінг даних відповідно до широкого спектру потреб.

Просто переконайтеся, що ви використовуєте snscrape правильно і етично, щоб уникнути будь-яких проблем.

Запустіть Snscrape в масштабі 🚀

Великі набори даних означають більше запитів. Уникайте переривань або блокування IP-адрес, розподіляючи трафік за допомогою ротаційних домашніх проксі-серверів.

Скребок без обмежень

А тепер давайте розважимося!

Ви Бог скребків чи повний нуб?

Пройдіть наступний веселий тест і дізнайтеся, який у вас скрайбінг-характер

Про автора Деян Георгієв

Аватар для Деяна Георгієва

Деян Георгієв - експерт з програмного забезпечення та технологій, що спеціалізується на питаннях конфіденційності та захисту даних в Інтернеті. Він є сертифікованим експертом з кібербезпеки та Інтернету речей як Лондонського університету, так і Університету Джорджії. Крім того, Деян є палким прихильником захисту персональних даних. Він також має спеціалізацію з питань конфіденційності від Infosec.

Приєднуйтесь до 40K+ підписників розсилки

Отримуйте регулярні оновлення щодо кейсів використання Seedbox, технічних посібників, проксі-серверів, а також поради щодо конфіденційності/безпеки.

Висловіть свою думку

Залишити відповідь

Ваша e-mail адреса не оприлюднюватиметься. Обов’язкові поля позначені *