Как собрать ссылки для парсинга товаров интернет магазинов

Парсинг — автоматизированный сбор данных с веб-страниц и предоставление полученных данных в необходимом формате по шаблону.

Любой инструмент парсинга требует первоначального задания ссылок на конкретные страницы, данные с которых нам и надо собрать.

Соответственно, первоначальной задачей будет найти и отфильтровать этот нужный массив ссылок. Расскажем про основные способы.

Методы сбора ссылок с сайта-источника

Паук-сканер

Работает примерно так же, как и роботы поисковых систем: стартовую (как правило, главную) страницу посещает парсер и находит ссылки на внутренние страницы. Далее заходит на них, сканирует, собирает ссылки следующего уровня и добавляет в очередь для обхода. Нужные ссылки отфильтровываются и добавляются в итоговый список. Так происходит до того момента, пока на всех страницах в очереди не будет новых, непосещенных ссылок.

Плюсы: если правильно задать фильтры, не требует вмешательства в процессе.

Минусы: бывают страницы, на которые не ведет ни одной ссылки (брошенные страницы), встречаются битые ссылки. В таком случае есть риск пропустить некоторые страницы.

Карта сайта

Часто расположена по стандартному адресу /sitemap.xml либо похожему. Точный адрес можно узнать в файле /robots.txt.

Следует отличать от карты сайта для посетителей: в государственных, корпоративных порталах считается обязательным разделом, в котором пользователь может быстро понять структуру сайта и попасть в любой раздел напрямую.

Нужная же нам карта сайта предназначена в основном для поисковых систем, откуда последние получают информацию о страницах для индексации, и рекомендациях по периодичности из переобхода.

Плюсы: сразу единым массивом можно достать все ссылки в удобном стандартном формате.

Минусы: администратор сайта-источника может публиковать не все ссылки в карте, выключая видимость целых разделов. Происходит такое нередко, в итоге из процесса парсинга выпадает множество ссылок, в реальности видимых пользователю и доступных ему.

Обход разделов и пагинации

Обходим парсером последовательно каждую страницу раздела, подраздела и страницы пагинации. Собираем ссылки на все найденные товары.

Плюсы: собираем вообще все ссылки, которые видны пользователю.

Минусы: трудоемкий процесс, требующий индивидуального подхода (предварительный анализ структуры каталога, ссылок на пагинацию, подсчет товаров в категории). Иногда сайты запрещают пагинацию дальше какой-то страницы (например, 100-й).

Составление ссылок по шаблону, перебор

Если ссылки представляют собой упорядоченное число, например /tovar-1000001.html, то создание массива таких ссылок не составляет труда. Даже не нужно обращаться к парсингу сайта. Подставляем шаблон перебора от 1 до 10 000 000 и генерируем ссылки в любом табличном редакторе.

Плюсы: простота, быстрота.

Минусы: массивы могут не быть последовательными, а значит, будет теряться время на парсинг несуществующих страниц. К тому же, с точки зрения SEO-оптимизации такие урлы считаются далекими от совершенства, а значит, встречаются на редких сайтах.

Тонкости сбора ссылок, возможные ошибки

Иногда один и тот же товар находится в разных разделах, поэтому имеет разные урлы. Например, /stroitelnye_materialy/klei_pva_001.html и /klei/klei_pva_001.html. В таком случае следует собрать ссылки, но при дальнейшем парсинге исключать дубли по каким-то другим параметрам, например, артикулу.

При поиске ссылок часто бывает сложно отделить ссылки на разделы и ссылки на товары. В таких случаях целесообразно фильтровать ссылки на этапе парсинга по признакам в контенте страницы.

Иногда при подсчете ссылок в разделе (например, количество товаров в товарной группе) ориентируются на счетчики товаров. Зачастую они отображают неверное количество (включают в себя скрытые или отсутствующие товары).

Оптимальные способы сбора ссылок, выводы

Перед началом сбора ссылок по какой-либо методике следует смоделировать весь путь сбора, поняв, работает ли он на 100 %. Иногда начинают собрать ссылки одним методом, и оказывается, что сайт, например, не отдает всю пагинацию (позволяет прокликать только по первым 10 страницам из 100).

Лично мы считаем, что все же переход по всем страницам (раздел, подразделы, пагинация) — самый точный метод сбора. Он позволяет собрать все доступные и видимые пользователю ссылки на товары или страницы.

В остальных же случаях следует руководствоваться здравым смыслом и возможностями сайта-источника 😉

Оставьте комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Прокрутить вверх