Используемые термины
Парсер - настроенный модуль, который собирает информацию с какого-либо сайта
Сайт-источник - сайт с которого осуществляется парсинг (сбор) информации.
Группа товара - группа на сайте источнике, если уровней групп несколько, то это может называться деревом групп.
Код страницы - исходный код HTML страницы сайта (карточки товара или группы товаров), который можно посмотреть, например, через браузер Chrome (в меню правой кнопки мыши на странице сайта). Можно просмотреть как код рядом с каким-то элементом страницы, так и код целиком страницы.
Чтобы просмотреть код конкретного элемента, нужно кликать мышкой именно на нем и выбирать “Просмотреть код”
HTML-теги - текст, с помощью которого размечается страница сайта, часть исходного кода страницы.
Fiddler - бесплатная программа, с помощью которой можно отслеживать, какие запросы отправляет парсер и какие результаты возвращает сайт. https://www.telerik.com/fiddler
Товар с модификациями - товары на сайте-источнике, в карточке которых можно выбрать цвет, размер и другие параметры, в зависимости от которых может менять цена, наличие, описание и фото товаров. При этом нет отдельной ссылки на конкретную модификацию товара, с заданными параметрами. Если есть отличающаяся ссылка на каждую модификацию, то это можно считать как обычный товар.
Proxy - прокси-сервер (https://ru.wikipedia.org/wiki/Прокси-сервер) , простыми словами, это специальные сервера в сети интернет, которые используются для скрытия вашего IP-адреса, чтобы владельцы сайтов-источников не могли вас заблокировать. Они, как правило, платные. Можно найти и бесплатные, но в 99% случаев они очень медленные или работают всего пару часов. Если парсить планируете много и разных сайтов, вам нужно купить пакет из 1000+ прокси, страна прокси желательно РФ, если планируете парсинг белорусских или российских сайтов. Или Украина, если нужно парсить украинские сайты.
Можно так же купить пакеты индивидуальных Прокси (которые выделяются только вам, они работают быстрее), если не собираетесь парсить какие-то крупные сайты с серьезной защитой от парсинга. Индивидуальных прокси достаточно 10-20 штук.
Виды парсеров
Модуль универсального парсинга, встроенный в программу, позволяет парсить “обычные” сайты интернет-магазинов, которые реализованы в “общепринятом” виде. Т.е. где есть группы товаров и отдельные карточки товаров, которые можно открыть по ссылке, при этом не может быть одинаковой ссылки на разные товары. Универсальным парсером нельзя спарсить товары, которые имеют модификации, при этом на модификацию товара нет отдельной ссылки. Чтобы спарсить такие сайты нужен будет программист.
Программа позволяет делать парсеры в следующем виде:
1. Парсер карточек товаров по ссылкам
Для работы такого парсера нужны ссылки на карточки товаров. Ссылки могут быть получены в том числе самим парсером. Парсер заходит в каждую карточку товара и собирает из нее информацию, которую вы настроили.
Ссылки могут быть загружены из следующих источников:
1.a прайс поставщика, если он в прайсе вместе с товаром дает еще ссылку на карточку сайта, откуда нужно спарсить информацию
1.б файл sitemap.xml сайта, откуда нужно парсить
1.в добавлены вручную в Excel файл и загружены в программу в виде прайса
1.г получены с помощью парсера по категориям сайта
1.д получены при помощи поиска на сайте по названию или артикулу (для этого, как правило, нужен прайс поставщика, в котором есть артикулы или названия, такие же как на сайте, или же по вашим артикулам на сайте-источнике должны находиться однозначно правильные товары).
2. Парсер информации из групп товаров на сайте-источнике
Данный вид парсера применяется в случае, когда достаточно информации со страницы группы товаров. Например, если вас интересуют только цены и остатки товаров и не нужны описания.
Так же такой парсер настраивается, если необходимо собрать ссылки на товары, по которым затем будет запущен парсер по ссылкам и получена уже информация из карточек товаров.
3. Парсер ссылок на группы
Применяется для получения списка ссылок на группы товаров, которые в дальнейшем нужно парсить, используя парсер информации из групп товаров (п.3). Например, вам нужно собрать все товары из определенной большой группы, в которой есть множество подгрупп, но товары при этом не отображаются.
Или подгрупп не много, но они могут периодически добавляться на сайте источнике и нужно их отслеживать автоматически, чтобы потом не добавлять вручную.
Какой парсер выбрать?
Выбирать парсер нужно по следующим условиям:
Парсер цен
Для парсера цен нужно, по возможности, делать парсер по группам. Так как, например, в группе отображаться может 20 товаров и вы будете собирать цены в 20 раз быстрее, чем если парсер будет заходить в каждую карточку товара.
Если парсер по группам невозможно сделать по каким-то причинам (не все цены видны в группе, или не отображается количество товаров в группе), то нужно делать парсер по ссылкам, заходящий в каждую карточку товара, но при этом стараться минимизировать количество товаров, цены на которые будут собираться. Т.е. не нужно собирать цены на те товары, которые вам не нужны, если это возможно. Т.е. нужно собрать только те ссылки, цены которые нужны, при помощи парсера по группам товаров или парсера, использующего поиск на сайте источнике по названию или по коду.
Парсер описаний
Для парсера описаний используется парсер по ссылкам на карточки товаров, но опять же, количество карточек нужно минимизировать. Если на сайте источнике больше 20 000 товаров и при этом вам нужна только часть товаров, то нужно сначала отобрать группы для парсинга и парсером по группам собрать ссылки на товары.
Если товаров на сайте-источнике не много, то проще всего спарсить весь сайт, если есть возможность получить sitemap этого сайта или прайс поставщика со ссылками на карточки товара.
Если вам нужна только часть товаров с сайта, но при этом вы парсите весь сайт, “про запас”, то нужно понимать, что на сайте-источнике со временем могут исправляться характеристики, добавляться в карточку товара новые, более качественные, фото, дополняться описания, и если вы какие-то товары будете добавлять только через месяц, то вам все равно придется заново парсить сайт, чтобы получить актуальную информацию.