Якщо ви не маєте схильності до винаходів, цілком можливо, що вам знадобиться певний фундамент для старту. Або ж, ви можете дослідити конкуренцію для отримання цінних даних. Крім того, існує безліч причин, чому хтось може зацікавитися інформацією на певному веб-сайті.
Веб-скрапінг – це процес, який допомагає в таких випадках.
Існує кілька способів це зробити. Є складні інструменти, на які можна підписатися для професійного аналізу великих веб-сайтів. Також може знадобитися спеціальне налаштування для локальної обробки даних.
У будь-якому випадку, цей підхід є дорогим, трудомістким і виснажливим для новачків, особливо при зборі інформації з невеликої кількості веб-сторінок.
Огляд можливостей ChatGPT для веб-скрапінгу
Напевно, вам не потрібно представляти ChatGPT, чи не так?
Коротко кажучи, ChatGPT – це генеративний штучний інтелект, що реагує на запити як людина. Він надає інтерфейс чату, де ви можете просити його виконувати різні завдання, наприклад, запитувати про історичні події, писати тексти, робити конспекти, перекладати, кодувати і так далі.
ChatGPT надає відповіді у текстовому форматі. Однак, існують плагіни ChatGPT, які різноманітними способами розширюють його можливості. І ми скористаємося одним із таких плагінів. Крім того, ми застосуємо його Інтерпретатор Коду для аналізу веб-сайтів зі складною структурою або з активними протоколами захисту від аналізу.
Зверніть увагу, що ChatGPT має безкоштовну та платну версії. Але для використання плагіна веб-скрапера або механізму інтерпретатора коду вам знадобиться платна підписка (на даний момент 20 доларів на місяць).
У наступних розділах я крок за кроком проілюструю цей процес.
Застереження: перш ніж почати самостійно, переконайтеся, що відповідний веб-сайт дозволяє копіювати свій контент. Якщо ні, ви можете зв’язатися з адміністратором і уточнити, чи дозволять вони вам це робити, щоб уникнути будь-яких юридичних проблем.
Веб-скрапінг за допомогою плагіна ChatGPT
Увійдіть до свого Облікового запису OpenAI, наведіть курсор на GPT-4 (це його поточна платна версія) і натисніть «Плагіни».
Далі натисніть “Немає плагінів”, прокрутіть вниз і натисніть “Магазин плагінів”.
Зауважте, що замість “Немає плагінів” у вас буде піктограма плагіна, якщо він активний. У цьому випадку вам потрібно натиснути на цю піктограму, щоб відкрити спадне меню, і клацнути магазин плагінів внизу.
Це відкриє магазин плагінів. Знайдіть Scraper і натисніть “Встановити”.
Виберіть цей плагін в інтерфейсі ChatGPT.
Після вибору плагіна, потрібно запитати ChatGPT, згадавши URL-адресу веб-сторінки та потрібний для копіювання контент.
Я це зробив для кількох веб-сайтів. Давайте поглянемо.
Збір даних із публікацій
Ми – видання, орієнтоване на технології, і для цієї демонстрації я обрав нашу домашню сторінку techukraine.net.com/.
Ось запит:
перевір цю веб-сторінку: https://techukraine.net.com/ і підготуй таблицю, де вкажеш назву статті, автора, дату публікації та короткий опис для 10 найкращих статей.
Також можна повторно запропонувати конвертувати дані у формат CSV, вставити їх у текстовий файл з розширенням .csv і відкрити в програмі для роботи з електронними таблицями, такій як MS Excel.
Збирання даних з веб-сторінки пропозицій або купонів
У розділі пропозицій techukraine.net ми зібрали деякі пропозиції щодо високотехнологічних проєктів. Як щодо отримання всіх пропозицій у табличному форматі?
Підготуй список пропозицій із цієї веб-сторінки: https://techukraine.net.com/deals/. Подай результат у табличному форматі.
Збір даних з Вікіпедії
Підсумуй у табличному форматі останні новини з розділу "Новини" з цієї сторінки Вікіпедії: https://en.wikipedia.org/wiki/Main_Page
Скрапінг магазинів електронної комерції
Наостанок, я спробував отримати дані з Amazon.com про ноутбуки, застосувавши кілька фільтрів і передавши URL-адресу ChatGPT. Ось що я отримав:
Проблема в тому, що це не поодинокий випадок. Ви знайдете багато подібних ситуацій, коли на веб-сайтах передбачено заходи проти скрапінгу. У цій ситуації вам потрібно буде знайти альтернативу для отримання даних, якщо підписка на галузеві стандартні скребки не є варіантом.
У наступних розділах пропонується одне з таких рішень.
Веб-скрапінг за допомогою інтерпретатора коду ChatGPT
Інтерпретатор коду – це нещодавно запущений механізм ChatGPT для вирішення завдань, пов’язаних із програмуванням. У той час як механізм за замовчуванням значною мірою покладається на текстові відповіді, Інтерпретатор Коду може допомогти візуалізувати результати, аналізувати, налагоджувати та виконувати код, інтегрувати з програмними файлами та виконувати багато інших завдань, орієнтованих на програмування.
У цьому процесі ми завантажимо вихідний HTML-код, завантажимо його в інтерпретатор коду ChatGPT і продовжимо копіювання.
Я взяв цю сторінку для вилучення:
Ми почнемо зі збереження веб-сторінки як HTML. Для цього перейдіть на потрібну веб-сторінку та натисніть Ctrl+S.
Тепер у нас є файл для скрапінгу. Давайте розберемося із запитом.
На додачу до текстового запиту, ви бачите, що я надав йому зразки елементів, щоб пришвидшити копіювання. Оскільки структура веб-сторінок Amazon є складною, без цих зразків спроба збору може бути невдалою або не принести результату.
Отримати ці елементи досить просто. Клацніть правою кнопкою миші в будь-якому місці на відповідній веб-сторінці та натисніть “Перевірити” у спливаючому вікні.
Спочатку натисніть на верхню іконку (позначену як 1). Це виділить елементи під час вибору їх на сторінці. Далі виберіть контейнер для будь-якого конкретного продукту.
Переконайтеся, що ви вибрали самий внутрішній контейнер. Ви можете навести вказівник миші, і він буде підсвічуватися. Коли ви отримаєте останню оболонку, що покриває цей блок, ви можете клацнути та перейти до правого боку, щоб скопіювати клас div елемента.
Аналогічно, підберіть зразки для інших елементів.
Наостанок, завантажте HTML і запитайте щось на кшталт:
переглянь цей HTML веб-сторінки та витягни назви ноутбуків, ціни та рейтинги. Подай результат у табличному форматі в цьому інтерфейсі чату, а також виведи результати у CSV для завантаження. div class="s-card-container s-overflow-hidden aok-relative puis-include-content-margin puis puis-vfcg1duwvmpo42mcln9ojhiljk s-latency-cf-section s-card-border" зразок елемента заголовка: span class="a-size-medium a-color-base a-text-normal" зразок елемента ціни: span class="a-price-whole" зразок елемента рейтингу: span class="a-size-base puis-bold-weight-text"
Знадобиться певний час, поки інтерпретатор коду ChatGPT виконає свою роботу. Ви отримаєте деякі деталі, а все інше буде у вкладеному файлі CSV.
Можливо, ви помітите, що в таблиці є кілька записів, яких немає на оригінальній веб-сторінці, особливо на початку. У таких випадках вам потрібно перевірити та очистити дані від надмірностей.
Якщо такі є, ви можете повторно запитати ChatGPT, щоб отримати чистий CSV.
Заключні думки
ChatGPT здатний на багато речей, і базовий веб-скрапінг є однією з них. Звісно, це може не підійти тим, хто збирає дані з сотень сторінок. Проте, це допоможе вам розпочати роботу в правильному напрямку і чудово підійде для невеликого сеансу скрапінгу.
У цьому посібнику ми використовували один з плагінів для збору даних та інтерпретатор коду. Хоча плагіни працюють на багатьох стандартних веб-сайтах, другий метод призначений для власних структур веб-сторінок або якщо сторінка має динамічні елементи (нескінченне прокручування, “читати далі” тощо).
І ще раз, перегляньте умови веб-сайту, перш ніж знімати дані.
PS: ознайомтеся з цими рішеннями для хмарного скрапінгу та нашим власним API для скрапінгу techukraine.net.