[xParser] 1.6.0 Асинхронная работа и полноценный xPath
С версии 1.6.0 компонент:
- Поддерживает асинхронную выгрузку изображений, благодаря библиотеке ReactPHP. Разница в скорости парсинга до 3.5 раз.
- Имеет полноценную поддержку xPath, благодаря библиотеке DomCrawler. Раньше использовалась QueryPath, у которой косячный xPath, было много жалоб.
Поблагодарить автора
Отправить деньги
Комментарии: 24
Синтаксис xPath теперь при использовании новой библиотеки изменился?
Нет, расширился.
Блин год валялся компонент вот только добрался и не могу в тикеты отписать! в итоге настроил тестовый парсинг на опенсервере и на хостинге и в обоих случаях больше половины картинок не парсятся (так же которые со сторонних сайтов на доноре подтягиваются) в итоге парсинг «не заканчивается» — зависает, но ресурсы создаются с вышеупомянутыми проблемами!
В консоле такой вывод:
В консоле такой вывод:
[2018-04-05 13:57:51] (ERROR @ X:\SERVER\OSPanel\domains\iskatel\core\model\phpthumb\modphpthumb.class.php : 121) phpThumb was unable to generate a thumbnail for: X:\SERVER\OSPanel\domains\iskatel\core\cache\phpthumb\iskatel__srce6e02ff9c92e250c09f3896062ecf2a7_par0ba78bb0326502335f8683fdf331013a_dat0.jpeg
[2018-04-05 13:57:51] (ERROR @ X:\SERVER\OSPanel\domains\iskatel\core\model\phpthumb\modphpthumb.class.php : 133) Error outputting thumbnail:
OutputThumbnail() failed because !is_resource($this->gdimg_output) in file "phpthumb.class.php" on line 618
В поддержку можно написать ещё раз купив дополнение.
https://modstore.pro/info
https://modstore.pro/info
Авторы оказывают бесплатную техподдержку в течение 1 года со дня покупки.
Отлично, купил дополнение для того, чтобы купить его еще один раз!
Напишите в личку, будем разбираться. И доступы сразу приложите, пожалуйста.
Разобрались. Банально не был указан полный адрес до картинки. Подставили вначале image.jpg полный УРЛ:
@INLINE https://site.ru/{$img}
и всё работает, как надо!
По cron перестал парсить, ошибок не выдаёт
Павел, привет! Хороший компонент — молодец! Вопрос: какая актуальная минимальная версия php нужна? Как насчет динамически подгружаемого контента на сайте, когда пагинация только скролингом?
актуальная минимальная версия phpPHP 5.4
пагинация только скролингомСкролл пагинацию можно обойти, если есть возможность получить записи на условно следующей странице по УРЛ. Например, вызвав
http://site.ru/news/?p={n}
у нас откроется соответствующая страница. Но записи на сайте выводятся при прокрутке.Мне конечно интересно придумать функционал, который позволил бы обходить скролл-страницы, к которым никак не обратиться по инструкции выше. Однако, пока идей в этом направлении особо нет, т.к. подгрузку при скролле каждый реализовывает по своему.
если глянуть в композер там у каких то компонентов 7-ка минимальные требования, поэтому написал. А по обработке это я думаю виртуальный браузер поддерживающий js, но скорость не та и нагрузка конечно. Спасибо.
кажется поправить надо, вот так в core/components/xparser/cron/parser.php
if (!empty($ids)) {
// $params = array('ids' => $modx->toJSON($ids));
$params['ids'] = $modx->toJSON($ids);
}
Верно. Спасибо!
И при установленном msearch2 в лог сыпятся ошибки при импорте, хотя это даже не ошибки, просто ручками потом индекс надо перестраивать, что можно сделать и в момент создания ресурса, может это моя личная проблема хз, не успел проверить еще. И вопрос, если не сложно конечно: никак не могу понять что за $sTask instanceof sTask никак не могу найти как он попадает в properties )
У меня на 5.4 не работает выдает
И также не понятно, если парсить с сайта инфу с 10-1 страницы, он прошелся, добавил пагинацию в исключения… и в след раз мы больше не увидим 10-1 страницы хотя все самое свежее там… как быть?
<b>Parse error</b>: syntax error, unexpected 'class' (T_CLASS), expecting identifier (T_STRING) or variable (T_VARIABLE) or '{' or '$' in <b>..../core/components/xparser/vendor/symfony/dom-crawler/Crawler.php</b> on line <b>694</b><br />
А вот на 5.6 завелась, но при запуске через CLI (через web нормально) новые сюрпризы:Parse error: syntax error, unexpected '[' in .../core/components/xparser/vendor/react/promise/src/functions.php on line 15
Т.е. ругаться начинает на: $canceller = [$promiseOrValue, 'cancel'];
и даже на $reasons = [];
может это частный глюк хз (и даже на 7.1 там еще интереснее)И также не понятно, если парсить с сайта инфу с 10-1 страницы, он прошелся, добавил пагинацию в исключения… и в след раз мы больше не увидим 10-1 страницы хотя все самое свежее там… как быть?
как быть?Спарсить раз и перенастроить…
и даже на 7.1 там еще интереснееУ меня норм.
но при запуске через CLIНе факт, что на CLI 5.6, раз работает в Веб.
P.S. Пишите в ТП на Modstore, она вроде для всего этого создана…
Точно, спасибо! в CLI 5.3.29
Добрый день.
Подскажите, для обновления спарсенных товаров нужны какие-то действия при настройке? Нужно указать уникальное поле, правильно? По которому он будет понимать товар как уникальный или нет?
Подскажите, для обновления спарсенных товаров нужны какие-то действия при настройке? Нужно указать уникальное поле, правильно? По которому он будет понимать товар как уникальный или нет?
Правильно.
А ссылка, которая потом обработана таким правилом будет верно считаться уникальной?
@INLINE {'https://site.ru' ~ $link}
А почему нет?)
Огонь) Я там вам в ЛС отписал, чувствую так быстрее моя задача решится))
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.