Парсери та збір даних для SEO і маркетингу
Парсери та збір даних входять до послуги «Автоматизація процесів» у Best Boost Partners. Ми пишемо парсери, які за розкладом збирають пошукову видачу, ціни й каталоги конкурентів, дані про посилання і метадані сторінок, очищають дані та зберігають їх у базу або таблицю. Якщо джерело має офіційний API, ми працюємо через нього і дотримуємося умов сайту-джерела та правил robots. Ви отримуєте код, документацію і перший зібраний набір даних.
Які парсери ми пишемо?
Пошукова видача
Збираємо видачу за вашим списком запитів у розрізі регіонів і пристроїв: позиції, адреси, заголовки, сніпети та спеціальні блоки на сторінці. З цих даних видно, хто насправді стоїть за кожним запитом і як видача змінюється з часом.
Ціни та каталоги конкурентів
Парсер проходить категоріями і картками конкурентів та записує назви, ціни, наявність і характеристики. Інтернет-магазин або каталог автозапчастин отримує порівняльну таблицю, яка оновлюється за розкладом.
Дані про посилання
Отримуємо дані про посилання через API індексів посилань, таких як Ahrefs і Majestic, за вашою підпискою, і перевіряємо живі сторінки: чи стоїть посилання, який у нього анкор і атрибути, який код відповіді віддає сторінка.
Метадані сторінок
Краулер зчитує title, description, заголовки, canonical, коди відповіді та мікророзмітку з ваших сторінок або сторінок конкурентів. Результат потрапляє в таблицю, яку можна фільтрувати і порівнювати з попереднім запуском.
Очищення і зберігання
Сирі дані очищаються від дублів, зводяться до одного формату і перевіряються перед збереженням. Зберігаємо їх у базі даних або в таблиці: вибір залежить від обсягу і від того, хто працюватиме з даними.
Розклад і контроль
Кожен парсер запускається за розкладом і веде журнал. Якщо запуск повернув порожній або незвично малий результат, парсер надсилає сповіщення: зазвичай це означає, що джерело змінило верстку.
Що ви отримуєте від парсерів і збору даних?
- Код парсерів у вашому репозиторії, налаштування винесено в окремий конфігураційний файл.
- Базу або таблицю з описаною структурою: що означає кожне поле і звідки воно береться.
- Розклад запусків і журнал кожного запуску.
- Документацію про те, як додати нове джерело, список запитів або поле.
- Довідку щодо кожного джерела: API чи парсинг, ліміти запитів, враховані умови використання.
Коли потрібні парсери та збір даних?
- Ті самі дані регулярно копіюють вручну з видачі або із сайтів конкурентів.
- Інтернет-магазину треба щодня бачити ціни й наявність у конкурентів, а каталог завеликий для ручної перевірки.
- Куплені або розміщені посилання треба регулярно перевіряти: чи жива сторінка і чи на місці посилання.
- Для рішення щодо семантики або структури потрібні дані одразу про багато сторінок конкурентів.
Часті запитання
Чи можна парсити чужий сайт?
Це залежить від умов використання сайту-джерела, типу даних і законодавства країни, тому кожне джерело ми перевіряємо до початку роботи. Ми використовуємо офіційний API там, де він є, дотримуємося правил robots, тримаємо помірну частоту запитів і не збираємо персональні дані та контент, закритий авторизацією. Якщо джерело забороняє автоматичний збір, ми кажемо про це і шукаємо інше джерело тих самих даних.
Що буде, якщо сайт-джерело змінить верстку?
Парсер перестане знаходити потрібні поля, запише помилку і надішле сповіщення. Селектори і правила для полів лежать у конфігурації окремо від основного коду, тому правка зазвичай невелика. Як внести таку правку, описано в документації.
Як часто можна збирати дані?
Так часто, як вимагає завдання і дозволяє джерело. Ціни й наявність зазвичай збирають щодня, метадані сторінок раз на тиждень або після релізу, перевірку посилань у межах лімітів API індексу. Частоту ми задаємо для кожного джерела окремо і записуємо в документацію.
Розкажіть про проєкт
Заповніть те, що вже знаєте. Порожні поля не проблема: решту уточнимо в розмові.
Зручніше спершу обговорити? Напишіть у WhatsApp або на пошту.
Бриф надіслано
Дякуємо. Відповімо протягом одного робочого дня.
Режим попереднього перегляду: обробник форми ще не підключено, дані нікуди не надіслано.