Парсинг. Общее
Часто бывает, что прайс лист поставщика недостаточно информативен, чтобы с его помощью можно было наполнить магазин полноценными товарами: с картинками, характеристиками, описанием и названием.
Но плагину будет достаточно, если прайс лист содержит ссылки на страницы товаров. Если в прайс листе ссылок нет, то их можно добавить руками.
Пример минимального прайс листа для наполнения магазина:
Ручное добавление ссылок в прайс лист - не такой тяжелый труд, как может показаться на первый взгляд. Обычно за 1 рабочий день можно добавить 500 - 800 ссылок, без особого напряжения.
Главное, обеспечить связь артикула товара и ссылки. Чтобы артикулы товаров в магазине совпадали с их артикулами в прайс листе поставщика. Это необходимо для того, чтобы в последствии, плагин мог автоматически обновлять цены и остатки товарам по прайс листам.
Принцип работы парсера.
Задача парсера - найти в тексте нужный фрагмент, используя ваши указания. Можно задать всего 4 указания парсеру:
1. Номер колонки, содержащей ссылку на страницу с товаром (в данном случае, колонка номер 4)
2. Параметры парсинга: два текста в коде страницы, между которыми находится искомый фрагмент. Например, название "Рюкзак Walker Ray Hype Black, 30x50x16 см" находится между параметрами content=" и "
следовательно параметры парсинга будут такими:
Однако, по таким параметрам, плагин спарсит текст website, поскольку он встречается раньше, чем название товара Рюкзак Walker Ray Hype Black, 30x50x16 см (см. код страницы).
Чтобы уточнить парсинг используются "Тексты начала и конца парсинга".
3. Предписывают плагину, какой фрагмент текста нужно вырезать из веб-страницы, чтобы в этом фрагменте искать параметры парсинга.
Если вырезать из исходной страницы фрагмент от текста property="og:title и до конца, то результат парсинга будет правильным потому, что поиск параметров начнется от текста property="og:title:
4. Можно было не использовать "Тексты начала и конца парсинга", если воспользоваться "Номером вхождения первого параметра". В данном случае, первый параметр - слово content=" встречается коде страницы дважды, значит такой вариант парсинга тоже будет правильным:
Парсинг под паролем.
Если вы являетесь официальным партнером поставщика, а сайт поставщика защищен от несанкционированного просмотра, то у вас должен быть логин и пароль для доступа к страницам сайта.
Это означает, что вы можете парсить сайт поставщика. Точнее не вы, а ваш сервер (сайт), на котором установлен плагин. А если говорить совсем точно, то парсит форма поставщика, в которой вы прописали параметры парсинга.
Логин и пароль для доступа к "закрытому" сайту следует прописать в форме поставщика, во вкладке "Cron" в "Основном задании":
даже если, вы не пользуетесь кроном.
Т.е. задания крон могут быть отключены:
Парсинг ячейки прайс листа.
Иногда поставщики выводят характеристики товаров не в отдельных колонках прайс листа, а в колонке "Описание" в виде таблицы под текстом:
Плагин сможет разобрать этот текст на атрибуты аналогично тому, как он это делает при парсинге веб-страницы. Настройки будут такими:
1. Номер колонки прайс листа, содержащей такие описания, следует прописать здесь:
2. Разрешить загрузку атрибутов в товары:
3. Настроить парсинг:
Парсинг. Траблы
Парсинг файла.
Необходимость парсить файлы возникает тогда, когда сайт-донор не хочет отдавать свою веб-страницу вашему серверу - защищается.
Не следует упрекать сайт-донор в злонамеренности, скорее всего, он воспринял ваши попытки парсинга, как DDOS-атаку, ведь при парсинге, ваш сервер переходит по страницам сайта-донора со скоростью, которая не доступна простому пользователю, просматривающему страницы товаров со своего компьютера.
В плагине есть возможность замедлить скорость перехода по страницам, это меню:
но если вы увидели в Отчете плагина текст:
The Product passed: Row ~= 6 url = http://www.site.com.... Site no answer
значит, с включением паузы парсинга вы опоздали. Ваш сервер забанили, и теперь придется парсить страницы донора, как файлы.
Для этого:
1. Нужно зайти на страницу товара со своего компьютера
2. Выделить часть ссылки на эту страницу, как будущее название файла по следующим правилам:
От знака ? до конца ссылки или до точки:
От знака & до конца ссылки или до точки:
От слэша:
(если в конце ссылки стоит слэш, то до слэша).
3. Последовательно нажать клавиши:
ctrl+C , ctrl+S , ctrl+V и Enter
Страница сохранится как HTML файл на вашем компьютере:
4. Из имени файла удалить расширение (воспользуйтесь "Групповым переименованием"):
5. Закачайте файлы страниц на сайт в папку admin/uploads.
6. Включите кнопку:
и сохраните форму поставщика.
7. Отправьте прайс лист в обработку.
Прокси.
В файле admin/model/catalog/suppler.php можно прописать адреса прокси серверов. Это позволит избежать проблем, связанных с баном.
По-умолчанию, парсинг через прокси в плагине отключен, поскольку это сильно замедляет работу. Чтобы разрешить использование прокси нужно снять комментарий (ищите по тексту $arr_proxi = array(); ):
Обязательно обновите адреса прокси серверов.
Фальшивая страница.
Если при парсинге веб-страницы, в Отчете появилось сообщение:
Parsing Product Name error: Row 12 Check your settings.
то это не обязательно указывает на ошибку в параметрах парсинга. Возможно, что сайт-донор отдал вашему серверу совсем не ту страницу, которая запрашивалась. Например, предложил ввести капчу или (чаще бывает) прислал какой-то бред.
Чтобы увидеть, что именно прислал сайт-донор, нужно в файле плагина admin/model/catalog/suppler.php перед строками return $body; в двух местах:
1
2
вставить текст:
$err = " Answer = " . $body ." \n";
$this->adderr($err);
Попробовать на прайс листе с одним товаром. Результат можно будет увидеть в Отчете (файл admin/uploads/errors.tmp).