Як парсити Instagram? 3 способи отримати максимум від ваших зусиль зі парсингу
Процедура не є простою та має багато складнощів, пов'язаних або з політикою Instagram, або з технічними неоднозначностями.
Цей посібник відповідає на питання, як парсити Instagram, представляючи три способи, що включають методи з низьким та високим навантаженням на код, а також метод без коду.
Чи є парсинг Instagram законним?
Відповідь на запитання «Чи законно збирати дані з Instagram?» – це і так, і ні, водночас, оскільки все зводиться до типу даних, які ви збираєте. Якщо ви хочете збирати дані з Instagram, доступні для загальнодоступних джерел, відповідь – так.
Але якщо ви збираєте з Instagram приватні дані, які потребують входу в Instagram, то це явно заборонено, і вам може загрожувати призупинення облікового запису, а в найгірших випадках – судові дії. Але навіть для публічних даних ви повинні забезпечити законний метод збору даних.
Щоб зібрати легальні дані з Instagram, ви можете використовувати API, що надаються Instagram. До них належать Instagram Graph API та Instagram Basic Display API.
API Graph дозволяє вам керувати та витягувати дані про бізнес-акаунти та облікові записи авторів. Тоді як API Basic Display надає вам доступ лише для читання до основної інформації користувача. Обидва ці API дотримуються політики Instagram щодо парсингу, тому парсинг Instagram за їх використанням є повністю законним.
Однак, якщо ви використовуєте непублічні API або незаконні засоби доступу до платформи без попереднього дозволу та часто маскуєте парсера під звичайного користувача, то це підпадає під несанкціонований парсинг та порушує правила InstagramУмови надання послуг.
Тож, перш ніж почати парсити Instagram, зробіть крок назад і подумайте: «Чи дозволяє Instagram парсити?» і переконайтеся, що ви обережно працюєте.
Які дані Instagram можна легко зібрати?
Перш ніж показати вам, як витягувати дані з Instagram, давайте спочатку з'ясуємо, які дані легально можна витягти з платформи. Легальний веб-скрапінг Instagram може надати вам доступ до цих трьох категорій даних:
-
Хештеги: Ви можете отримати найпопулярніші або нещодавні фотографії та відео, позначені певним хештегом у підписі.
-
Профілі: Ви можете отримати дані профілю, такі як публікації, кількість медіа та кількість підписників/підписок.
-
Дописи: Ви можете отримати такі показники, як кількість коментарів, кількість лайків, ідентифікатор профілю, дата публікації та URL-адреса.
3 способи парсингу Instagram
Ось три способи парсингу Instagram. Виберіть той, який відповідає вашим потребам та ресурсам:
Скрейпінг Instagram за допомогою API Instagram
Ось покрокова інструкція про те, як скрейпувати Instagram, але спочатку переконайтеся, що ви виконуєте такі вимоги:
-
Обліковий запис компанії/творця в Instagram
-
Сторінка у Facebook, пов’язана з обліковим записом компанії/творця в Instagram
-
Обліковий запис розробника Facebook для використання API Instagram Graph
-
Зареєстрований додаток Facebook з мінімальними налаштуваннями
Після того, як ви закінчите з цими передумовами, наступні етапи виглядатимуть ось так.
Додати функцію входу у Facebook:
Перейдіть на панель інструментів вашого додатка Facebook і натисніть кнопку «Продукт+» на панелі ліворуч у вікні. Звідти додайте продукт для входу у Facebook. Наразі не змінюйте налаштування для цього продукту та залиште їх за замовчуванням.
Далі вам доведеться реалізувати вхід у Facebook у вашому додатку за допомогою Документація щодо входу у Facebook та переконайтеся, що ваша процедура входу вимагає цих двох основних дозволів:
Згенерувати токен доступу:
Виконання дій з панелі керування застосунком в обліковому записі Instagram вимагає токена доступу користувача. У правій частині сторінки панелі керування відкрийте Користувач або Сторінка та виберіть "Отримати токен доступу користувача".
З’явиться спливаюче вікно з інформацією про те, що програма (у цьому випадку ваша програма) запитує вищезгадані дозволи. Просто натисніть кнопку «Продовжити» або «ОК», і ви отримаєте токен доступу користувача в полі «Маркер доступу» на вашій інформаційній панелі.
Тепер, використовуючи токен доступу користувача, ми виконаємо кілька основних запитів до облікового запису Instagram.
1. Отримати ідентифікатор сторінки Facebook:
Спочатку нам потрібен ідентифікатор сторінки у Facebook, пов'язаної з бізнес-акаунтом в Instagram. Для цього виконайте наступний запит Get на панелі інструментів.
Це поверне ім'я та ідентифікатор сторінок Facebook, що належать користувачеві Facebook. Результат виглядатиме ось так.
Скопіюйте ідентифікатор сторінки, пов'язаної з бізнес-акаунтом в Instagram.
2. Отримайте ідентифікатор бізнес-акаунта в Instagram:
Використовуючи ідентифікатор Facebook, введіть наступний скрипт у командний рядок і натисніть «Надіслати».
Ви отримаєте наступний результат.
3. Отримайте медіаоб'єкти облікового запису Instagram:
Скопіюйте ідентифікатор Instagram з виводу та виконайте наступний скрипт, щоб отримати ідентифікатори всіх історій, які наразі опубліковані в бізнес-акаунті Instagram.
Вивід міститиме ідентифікатор для кожної історії.
Це був лише один приклад. Використовуючи Instagram Graph API, ви також можете отримати іншу інформацію, таку як метадані користувачів Instagram, та виконати дослідження хештегів.
Тепер перейдемо до іншого способу парсингу даних з Instagram.
Парсинг Instagram без використання Cloud Scrapper
Для тих, хто не має досвіду програмування, вищезазначений метод може бути складним для розуміння, не кажучи вже про його виконання. Але не хвилюйтеся. Є скрепери Instagram, які виконують роботу без необхідності написання будь-якого коду.
Ось як парсити Instagram за допомогою одного з цих інструментів під назвою Apify.
Перейдіть на сторінку скрепера Apify в Instagram:
Відкрийте сторінку скрепера Apify в Instagram та натисніть Спробувати безкоштовно.
Зареєструйтесь на Apify, використовуючи свою адресу електронної пошти або облікові записи Google чи Github. Це переведе вас до консолі Apify, де відбувається справжній парсинг Instagram.
Зберіть цільові URL-адреси Instagram:
Використовуючи додаток Instagram або веб-сайт, зберіть усі URL-адреси профілів облікових записів Instagram, які ви хочете скопіювати. У консолі Apify вставте всі ці URL-адреси у надані поля введення по одній. Щоб ввести їх усі одночасно, ви можете натиснути кнопку «Масове редагування».
Apify пропонує три варіанти парсингу для наданих URL-адрес, ви можете парсити публікації та коментарі або отримувати різні деталі з профілів.
Натисніть «Зберегти» та «Пуск»:
Залиште решту налаштувань без змін та натисніть «Зберегти» та «Пуск», щоб запустити парсер. Результат буде у вигляді таблиці, що містить рядки, що дорівнюють кількості URL-адрес профілів, які ви надали, з кількома стовпцями, що містять метадані профілю, такі як біографія, кількість підписників, кількість публікацій, кількість стрічок, ідентифікатор облікового запису та статус підтвердження, і це лише деякі з них.
Збереження Результати:
Тепер натисніть кнопку «Експортувати результати» та виберіть потрібний формат файлу у спливаючому вікні. Ви також можете очистити дані, вибравши або пропустивши поля, які вам не потрібні. Після цього ви можете завантажити результати, переглянути їх у новій вкладці або поділитися ними за посиланням.
Вилучення даних з Instagram за допомогою мови програмування
Створення власного скрепера для Instagram може бути найефективнішим рішенням, якщо ваші вимоги нетипові та ви маєте ґрунтовні знання програмування або маєте розробника у своїй команді. Ви можете зробити це, використовуючи будь-яку мову програмування в поєднанні з фреймворком для веб-скрейпінгу.
У цьому посібнику показано, як парсити Instagram за допомогою Python та Selenium, фреймворку для автоматизації браузера.
Імпорт основних бібліотек:
Для початку імпортуйте основні бібліотеки, включаючи Selenium, його веб-драйвер та Selenium-Stealth, щоб запобігти виявленню.
Бібліотека pprint допоможе нам акуратно роздрукувати вивід для покращення читабельності.
Збирати імена користувачів Instagram:
Створіть список та додайте імена користувачів профілів Instagram, на які ви орієнтуєтесь.
Вихідна змінна – це словник, який ми використовуватимемо для зберігання результатів.
Визначте основну функцію:
Функція main буде проходити список імен користувачів по одному за раз та викликати функцію scrape для кожного імені користувача.
Визначте функцію для керування налаштуваннями браузера:
Ця функція налаштовуватиме налаштування браузера перед кожним запитом на парсинг, щоб додати анонімність та уникнути виявлення Instagram. Ці зміни включають ротацію проксі-серверів, налаштування параметрів Selenium-Stealth та створення штучного агента користувача.
Визначте функцію для парсингу:
Функція scrape(), яка викликається в основній функції, приймає одне ім'я користувача Instagram як аргумент і створює кінцеву точку профілю, яку ми використовуватимемо для надсилання запиту за допомогою браузера Chrome, створеного за допомогою функції prepare_browser().
Ми також перевіримо статус запиту. Якщо ваш запит було перенаправлено на сторінку входу, це означає, що запит не вдалося виконати. Тоді як якщо Якщо рядок входу не було, запит був успішним, і результат буде проаналізовано як JSON та надіслано до функції parse_data() разом з іменем користувача.
Визначте функцію parse_data():
Ця функція аналізує дані JSON в аргументі user_data, щоб отримати потрібне поле даних. У цьому прикладі ми збираємо повне ім'я користувача, категорію облікового запису, кількість підписників та підписи до публікацій.
Напишіть код драйвера:
Код драйвера запускає процес вилучення даних, витягує їх у вихідну змінну та викликає функцію pprint() для її гарного відображення.
Обхід виявлення за допомогою AdsPower Antidetect у браузері
Instagram суворо ставиться до парсингу та надає дуже обмежений доступ до публічних даних на своїй платформі. Це включає інформацію базового рівня, таку як ідентифікатор профілю, кількість підписників, лайки та коментарі. Глибше дослідження вимагає входу, що суперечить політиці Instagram та може призвести до блокування облікового запису.
Саме тут і стає в нагоді AdsPower, допомагаючи вам залишатися непомітними під час парсингу даних з Instagram, які можуть порушувати політику Instagram.AdsPowerвикористовує методи захисту від виявлення, такі як ротація IP-адрес та обмеження швидкості, щоб уникнути заходів проти скрейпінгу.
Тож наступного разу, коли ви будете парсити Instagram за допомогою інструменту без коду або неофіційних API Instagram, обов’язково використовуйте AdsPowerantidetect у браузері, щоб обійти виявлення.
Висновок
Instagram дозволяє парсити лише публічно доступні дані на своїй платформі, для яких він надає два API. Але ці API пропонують дуже базовий рівень парсити, не дозволяючи вам парсити дані з Instagram, які насправді є релевантними.
Це залишає нам сторонні веб-скрапери або створення власного скрепера за допомогою мов програмування. Однак, парсинг Instagram за допомогою цих неофіційних методів має шанси на виявлення, тому переконайтеся, що ви використовуєте AdsPower antidetect у браузері для додаткового захисту.

Люди також читають
- Посібник зі скрепера Shopify: два способи з кодом і без нього
Посібник зі скрепера Shopify: два способи з кодом і без нього
Парсинг Shopify простіший, ніж на інших сайтах електронної комерції. Дізнайтеся, як експортувати дані Shopify за допомогою нашого посібника зі парсингу без коду та скриптів Python.
- Як парсити Facebook: 2 простих методи для програмістів та не програмістів
Як парсити Facebook: 2 простих методи для програмістів та не програмістів
Дізнайтеся, як ефективно парсити Facebook та обійти його механізм захисту від парсингу, у цьому блозі.
- Ось як парсити Reddit двома різними, але ефективними способами
Ось як парсити Reddit двома різними, але ефективними способами
Дізнайтеся, як легко зібрати дані Reddit та отримати аналітичну інформацію за допомогою двох простих методів у цьому блозі.
- Спрощений скрепер Pinterest: від безкоду до кодування. Методи скрепінгу Pinterest.
Спрощений скрепер Pinterest: від безкоду до кодування. Методи скрепінгу Pinterest.
Навчіться парсити Pinterest за допомогою зручного скрейпера Pinterest або Python у цьому блозі.
- Чи законно парсити Amazon? 6 важливих порад та міркувань
Чи законно парсити Amazon? 6 важливих порад та міркувань
Чи законно парсити Amazon? Що слід врахувати перед початком парсингу Amazon? На ці питання ми відповімо в цьому блозі.