Типовая задача с бирж фриланса звучит так: «взять все позиции из файла Excel, найти их на сайте конкурента и скопировать описания, характеристики и ссылки на фото». Весь каталог не нужен — нужны ваши товары, но с чужими карточками.
От обычного парсинга каталога это отличается одним: главная работа здесь не в сборе, а в сопоставлении. Собрать данные с сайта — понятная техника. Понять, что строка 148 вашего файла и карточка на сайте — один и тот же товар, — вот где ошибаются.
Прежде чем что-то искать, смотрю, чем мы располагаем. Для сопоставления годятся:
Ваш внутренний код товара для поиска на чужом сайте бесполезен: там его никто не знает. Артикул поставщика годится, только если ищем у этого же поставщика.
Типовая порча данных в Excel. Штрихкод показывается как 4,60703E+12, а у артикула 00125 пропали нули и осталось 125. Это Excel сам решил, что перед ним числа. Со штрихкодом в xlsx цифры обычно целы, достаточно сменить формат ячейки, а если файл пересохраняли в CSV — хвост уже потерян. Нули в начале артикула пропадают насовсем. Штрихкоды и артикулы надо хранить как текст, а испорченные — выгружать из учётной системы заново.
Есть два пути, и выбор зависит от сайта:
Если в вашем списке несколько тысяч позиций, а у источника каталог сопоставимого размера, второй путь обычно ещё и быстрее.
Каждая строка проходит проверки по порядку, и первая сработавшая записывается в отдельную колонку:
AB-123.45, ab 12345 и AB12345 становятся одним и тем же. Бренд нужен, потому что короткие артикулы вроде 1020 встречаются у разных производителей.Где нечёткое совпадение врёт. «Краска фасадная белая 0,9 л» и «Краска фасадная белая 9 л» похожи почти полностью, но это разные товары с разной ценой. То же с мощностью, диаметром, количеством в упаковке. Поэтому числа в названии у меня должны совпасть точно, а всё, что найдено по названию, помечается «проверить», а не «найдено».
Всегда будут позиции, которых у источника просто нет, и позиции, где кандидатов несколько. Главное — не прятать их и не подставлять «похожее» молча. В файле появляется колонка статуса:
Ненайденные можно прогнать по второму сайту-источнику — это отдельный источник и отдельная настройка. А «проверить» обычно разбирается быстро: смотрите по ссылке и ставите «да» или «нет».
Ваш же файл: те же строки в том же порядке, ваши колонки не тронуты. Справа добавлено:
| Колонка | Что внутри |
|---|---|
| Статус | найдено / проверить / несколько вариантов / не найдено |
| Как найдено | штрихкод, артикул + бренд или название |
| Ссылка на источник | адрес карточки, чтобы проверить глазами |
| Название у источника | для сверки с вашим |
| Описание | текстом или с HTML-разметкой, как удобнее для импорта |
| Характеристики | по колонке на каждую или одной строкой |
| Фото | ссылки на оригиналы; по запросу — файлы с именами по артикулу |
| Цена и наличие | если нужны, с датой сбора |
Описания чищу от того, что к товару не относится: телефонов магазина, «доставим по Москве за день», ссылок на соседние товары. Фото беру в полном размере, а не превью.
Про чужие тексты и фото. Характеристики — это факты о товаре. Описания и фотографии — чей-то контент. Для внутренней работы — одно, выложить у себя на сайте как своё — вопрос к правам на этот контент, а поисковики к тому же плохо ранжируют скопированные тексты. Если описания идут на ваш сайт, их лучше переписать — я предупреждаю об этом заранее.
Список позиций меняется, цены у источника тоже. Сопоставление делается один раз, и следующий прогон опирается на него. Вариантов два:
Если обновление нужно регулярно — ежедневно или раз в неделю, с историей изменений, — это уже мониторинг цен, он настраивается на сервере по расписанию.
По странице услуги: от 2 000 ₽ за один сайт-источник, срок 1–3 дня. Это за готовый файл; если результат нужно сразу загрузить в вашу CMS — от 3 500 ₽, 2–4 дня, как на странице услуги. Второй источник со схожей структурой — примерно плюс день. Регулярный сбор по расписанию с историей цен — от 4 000 ₽, 3–5 дней.
Для оценки пришлите файл — можно не весь, хватит 20–30 строк с теми колонками, что есть, — и ссылку на сайт-источник. По ним видно, по чему получится сопоставлять и много ли будет ручной проверки.
По порядку надёжности: сначала по штрихкоду, затем по артикулу производителя вместе с брендом, и только потом по названию с нечётким совпадением. Способ, которым найдена каждая позиция, записывается в отдельную колонку, чтобы было видно, чему можно верить без проверки.
Они остаются в файле на своих местах с пометкой «не найдено», а спорные — с пометкой «проверить» и ссылками на кандидатов. Ненайденные можно прогнать по второму сайту-источнику.
Ваш же Excel: те же строки в том же порядке, ваши колонки не тронуты, справа добавлены статус, ссылка на источник, описание, характеристики и фото.
От 2 000 ₽ за один сайт-источник, срок 1–3 дня. Второй источник со схожей структурой — примерно плюс день. Регулярное обновление цен по расписанию — от 4 000 ₽. Точную сумму называю, когда посмотрю ваш файл и сайт-источник.
Пришлите часть файла и ссылку на сайт-источник. Скажу, по чему получится сопоставлять, какая доля позиций, скорее всего, найдётся автоматически и во что это обойдётся.