Парсинг. Траблы
Парсинг файла.
Необходимость парсить файлы возникает тогда, когда сайт-донор не хочет отдавать свою веб-страницу вашему серверу - защищается.
Не следует упрекать сайт-донор в злонамеренности, скорее всего, он воспринял ваши попытки парсинга, как 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).