Парсер интернет магазина сантехники
![](https://ivacms.ru/wp-content/uploads/2019/09/parser.jpg)
В разработке парсера на php нет ничего сложного, но для этого потребуются минимальные знания в регулярных выражениях, ведь потребуется «вытащить» какой-то текст из HTML кода.
Лет 10 назад для своего движка я создавал админку для универсального парсера, но так как в последние годы предпочитаю использовать другие CMS, разрабатываю парсеры одним файлом.
Клиенту понадобилось спарсить интенет магазин с картинками, атрибутами, а так же другими основными полями (цена, артикул,бренд,категории). На этот раз это интернет магазин сантехники. У донора нет уникальных текстов, а основной текст это атрибуты, которые доступны всем желающим в любом интернет магазине схожей тематики.
На выходе получилась таблица с 400000 товарами
Но в связи с тем, что в 10 000 позициях отсутствовала картинка, а так же атрибуты, было принято решение очистить таблицу от мусора простейшим sql запросом в phpmyadmin. В итоге получилось чуть больше 28 000 товаров.
Mysql таблица была экспортирована в CSV формат , а затем загружена в плагин Wp All Import.
Иморт данных проходил настолько долго (из-за картинок и 400 атрибутов), что 5000 товаров ипортировались в базу Worpdress почти двое суток. Тогда было принято решение дописать свой php парсер для импорта данных в WP.
Мой скрипт импорта товаров, показал отличную скорость, 50 товаров ( с картинками) добавляются в базу за 2 минуты. А это значительно быстрее чем с плагином Wp All import. Во время работы скрипта, идёт логирование импорта в бд.
Остальные 23 000 позиций были импортированы без участия плагина Wp all import.
Для парсинга информации с другого сайта предпочитаю делать отдельную таблицу в бд, где будут храниться данные.
Такой способ значительно лучше, чем делать импорт напрямую:
- Базу данных можно всегда подкорректировать при этом не задев основной сайт
- Базу данных можно экспоритровать в csv формат, и выполнить импорт в другую CMS
- Для тех кто не умеет управлять CMS, и не хочет учиться, CSV файл можно редактировать в обычной программе Microsoft Excel, и при дополнительном функционале обновлять каталог.