Все что описано в этой заметке относится как к парсингу в ИМ так же к парсингу в CSV
Сценарии использования.
- Хорошо подойдет для определения есть ли товар в наличии и исходя из этого загружать его или нет.
- Если нету возможности отсеять товар по бренду, а хочется грузить товар только определенного бренда.
- Отсеять товары с определенным атрибутом.
- Отсеять товары в которых нету фото, или нету артикула.
- Отсеивание страницы по наличию или отсутствию определенного текста на странице.
Настройка допуска к обработке страницы находится на вкладках Парсинг в ИМ и CSV/Парсинг
Краткое руководство по использованию.
Для начала нужно не забыть глобально включить использование проверки границ.
Разберем каждую настройку по отдельности.
- Включает или выключает выполнения этого правила.
- Указываете название правила, нужно что бы логи вам сообщали из за какого правила было отброшено ссылку ссылку.
- Поле куда вы можете вписать границу парсинга которую хотите проверить. Так же тут можно указывать сразу несколько границ. К пример {gran_1}{gran_2}
- Основной переключатель. Этот переключатель определяет как производить проверку границы парсинга. Доступны следующие возможности.
- Не пустая
- Пустая
- Равна =
- Не равна !=
- Больше/Равно >=
- Меньше/Равно <=
- Содержит %значение%
- Не содержит %значение%
- Регулярное выражение
Остановлюсь только на последних трех. Остальные вроде как по логике понятны.
Содержит %значение% - к примеру грузить если в границе прасинга есть слово Белый. К примеру поиск определенного слова в имени товара.
Не содержит %значение% - обратное правило, грузить товар если к примеру в границе нету слова Белый.
Регулярное выражение - Тут все просто если регулярное выражение Истина, значит страница парсится. Если ЛОЖ значит страница отбрасывается.
Поскольку сами регулярки поддерживают отрицание я не делал отдельный переключатель на отрицание.
- С чем сравнивать. Это поле нужно если вы хотите указать текст с которым вы хотите сравнивать, к примеру слово Белый из предыдушего примера нужно записать именно сюда. Так же сюда записывается регулярное выражение. Пример ругулярки {reg[#Правило#]}
- Когда проверять, к примеру только при обновлении товара, или только при добавлении товара, или при добавлении и обновлении.
- Поле для удобного выбора границы.
- Удаления правила.
Правил может быть сколько угодно. В случаи срабатывания правила в логах вы увидите отчет почему страница не загружена.
2020-05-14 11:51:03| Парсинг : УСПЕШНЫЙ ЗАПРОС | Код ответа [200] Ссылка | https://svetavto.com.ua/led/protivitymanki/881-h27-pg13-6w-cob-5x1-5w-belyj-12v-c-p-21250.html
2020-05-14 11:51:03| !->[Страница НЕ обработана ] : Поскольку - Правило допуска [Тест-3] Содержит [svetavto.com.ua]
2020-05-14 13:01:26| Парсинг : УСПЕШНЫЙ ЗАПРОС | Код ответа [200] Ссылка | https://svetavto.com.ua/led/protivitymanki/h1-p14-5s-13smd-5050-belaya-24v-c-p-21030.html
2020-05-14 13:01:26| !->[Страница НЕ обработана ] : Поскольку - Правило допуска [Тест-1] Не пустое
Тоже самое касается пред просмотра парсинга в ИМ.
Вам явно укажет что какое то правило заблокирует загрузку этой страницы.
А в отладочной информации сможете увидит подробнее.
Как делать ненужно!!!
Я уже вижу как многие представили что теперь ненужно будет тонко настраивать сбор ссылок.
Теперь достаточно просто выбрать границу парсинга в которой указать артикул и выбрать правило проверки, Не пустое.
И тогда модуль будет обрабатывать все ссылки с сайта а загружать только те на страницах которых есть артикул. Как удобно и ненужно настраивать сбор ссылок.
И вы правы это будет работать.
Но делать так ненужно!!!
Есть специальный инструмент сбор ссылок вот его луче настройте. А такой подход использовать в крайних случаях когда действительно нет возможности разграничить страницы товара от других страниц.
Хоть это и удобно для вас, но модулю и вашему хостингу поплохеет от такого подхода. Вместо того что бы парсить к примеру 100 ссылок на товары и загрузить их вы будете скармливать все ссылки или массив с тысячами ссылок. А значить будете делать тысячи запросов на сайт донор и обрабатывать эти страниц, а это увеличение нагрузки на ваш сайт да и риск попасть в бан на сайте доноре.
Несмотря на то что это будет работать, пожалуйста не делайте так, что бы не было проблем.
Это равносильно что шурупы забивать молотком, все будет работать, и шурупы будут держать но луче взять шуруповерт для решения этой задачи.