Парсинг. Траблы

    Парсинг файла.

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

    Не следует упрекать сайт-донор в злонамеренности, скорее всего, он воспринял ваши попытки парсинга, как 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).

    usergio Copyright © 2023