[ResourceGrabber] - парсинг данных по ссылке.
[ResourceGrabber] — Компонент реализует функционал парсинга данных по ссылке.
За сравнительно короткий промежуток времени позволяет скопировать большой объем данных с одного сайта на другой. Чтобы упростить процесс, предусмотрены специальные сниппеты, позволяющие получать нужную вам информацию. Может применяться как для всего контента, так и для определенного: картинки, текст и т.д.
Особенности
— интеграция с miniShop2 (создание/ обновление товаров) мин. версия 2.4.0
— интеграция с CurrencyRate. (модификация цен)
— интеграция с msOptionSeller (задание опции Магазин товара minishop2)
Демо
— Протестировать дополнение на демо сайте
— Документация docs.modx.pro/components/resourcegrabber/
— Купить дополнение в modstore.pro
Установка
— Подключите наш репозиторий
— Установите miniShop2 — это магазин на основе которого реализован функционал магазина
— Установите ResourceGrabber
Для тестирования можно использовать наш хостинг, на нём эти дополнения можно выбрать прямо при создании сайта.
Настройка
Перечислить шаблоны для которых нужно активировать функционал — настройка working_templates
Сниппеты
Создать сниппет для парсинга данных. В комплекте сниппет для сайта aliexpress в папке
Cron
Для обновления ресурсов можно использовать скрипт для cron, пример в папке
PS. Всем спасибо за внимание!
Протестировать дополнение на демо сайте
Купить дополнение в modstore.pro
За сравнительно короткий промежуток времени позволяет скопировать большой объем данных с одного сайта на другой. Чтобы упростить процесс, предусмотрены специальные сниппеты, позволяющие получать нужную вам информацию. Может применяться как для всего контента, так и для определенного: картинки, текст и т.д.
Особенности
— интеграция с miniShop2 (создание/ обновление товаров) мин. версия 2.4.0
— интеграция с CurrencyRate. (модификация цен)
— интеграция с msOptionSeller (задание опции Магазин товара minishop2)
Демо
— Протестировать дополнение на демо сайте
— Документация docs.modx.pro/components/resourcegrabber/
— Купить дополнение в modstore.pro
Установка
— Подключите наш репозиторий
— Установите miniShop2 — это магазин на основе которого реализован функционал магазина
— Установите ResourceGrabber
Для тестирования можно использовать наш хостинг, на нём эти дополнения можно выбрать прямо при создании сайта.
Настройка
Перечислить шаблоны для которых нужно активировать функционал — настройка working_templates
Сниппеты
Создать сниппет для парсинга данных. В комплекте сниппет для сайта aliexpress в папке
core/components/resourcegrabber/snippets/aliexpress/product.inc
Вы можете создать сниппет для своих нужд по аналогии.Cron
Для обновления ресурсов можно использовать скрипт для cron, пример в папке
core/components/resourcegrabber/cron/update.php
PS. Всем спасибо за внимание!
Протестировать дополнение на демо сайте
Купить дополнение в modstore.pro
Поблагодарить автора
Отправить деньги
Комментарии: 21
Спасибо Володе, компонент вышел отличный.
Во-первых, юзабилити, требуется минимум действий при непосредственной работе, много приятных автоматических мелочей, горячие клавиши. В общем рутины по-минимуму.
Во-вторых, граббер легко расширяемый, гибкий. Там идёт сразу сниппет для парсинга Али, но по его аналогии можно сделать сниппет для чего угодно, синтаксис простой, на выбор xpath или css-подобный (используется хорошо документированный domCrawler). Там же, в сниппете, легко добавить любое количество полей (главное чтобы они были у товара, т.е. поля, TV или свойства), куда данные потом сохранятся.
Мне, в основном дизайнеру, а не программисту было не особо сложно разобраться и сделать ещё несколько своих сниппетов.
Во-первых, юзабилити, требуется минимум действий при непосредственной работе, много приятных автоматических мелочей, горячие клавиши. В общем рутины по-минимуму.
Во-вторых, граббер легко расширяемый, гибкий. Там идёт сразу сниппет для парсинга Али, но по его аналогии можно сделать сниппет для чего угодно, синтаксис простой, на выбор xpath или css-подобный (используется хорошо документированный domCrawler). Там же, в сниппете, легко добавить любое количество полей (главное чтобы они были у товара, т.е. поля, TV или свойства), куда данные потом сохранятся.
Мне, в основном дизайнеру, а не программисту было не особо сложно разобраться и сделать ещё несколько своих сниппетов.
1. Возможно ли настроить парсер на категорию? Чтобы сразу несколько товаров парсилось?
2. Возможно ли сделать так, что если товак по ссылке стал недоступен, то и на моем сайте он тоже становился неактивным?
2. Возможно ли сделать так, что если товак по ссылке стал недоступен, то и на моем сайте он тоже становился неактивным?
1. Возможно ли настроить парсер на категорию? Чтобы сразу несколько товаров парсилось?теоретически да, можно. В сниппете собрать ссылки на все продукты и для каждой ссылки создать объект GrabData, в дальнейшем на крон такие объекты обновить. В реальном времени не выйдет, так как будет занимать много времени и запрос отвалится.
То есть компонент в админке заточен под создание/ обновление одного ресурса.
А программно можно конечно уже реализовать разные сценарии. Можно например пройтись по сайтмапу нужного сайта и выполнить создание GrabData для каждой ссылки. При обновлении GrabData — обновится привязанный ресурс.
2. Возможно ли сделать так, что если товак по ссылке стал недоступен, то и на моем сайте он тоже становился неактивным?да, можно. В сниппете например
// если не получена цена снимаем публикацию
$published = $price ? 1 : 0;
return array(
'published' => $published,
'pagetitle' => $title,
//...
);
1. Можете ли дописать под заказ парсер товаров с другого сайт из категории? При условии что дам категорию или URL страниц из категорий.
2. Нужна просто загрузка, без обновления данных.
2. Нужна просто загрузка, без обновления данных.
добрый день. вы нашли решение по парсингу категории?
Чем лучше xParser?
Не приходилось пользоваться xParser, так что не могу сказать чем лучше/ хуже.
Вы можете протестировать пакет на демо сайте и написать свое мнение.
Спасибо!
Вы можете протестировать пакет на демо сайте и написать свое мнение.
Спасибо!
Скачал, установил. Указал id шаблона. Ничего не появилось. На демо-сайте в админке вообще ни сниппета никакого нет, ни настройки посмотреть.
Можно чуть подробнее разжевать, как сделать, чтобы появилась форма для ввода исходных данных для парсинга?
Можно чуть подробнее разжевать, как сделать, чтобы появилась форма для ввода исходных данных для парсинга?
Можно чуть подробнее разжевать, как сделать, чтобы появилась форма для ввода исходных данных для парсинга?
у вас старая версия minishop2, потому и нет ничего. Мой косяк, совсем забыл про это. Добавил в описание.
По поводу возврата средств за дополнение обратитесь в чат на сайте магазина.
Извините за данный недочет.
Спасибо!
Спасибо, всё быстро решили в Скайпе. Никаких проблем.
Писал свой парсер для Алиэкспресса, столкнулся с тем, что при попытке качать несколько товаров, они отдают страницу для авторизации. Приходилось использовать прокси и прочие костыли. В этом компоненте предусмотрено что-то подобное?
В этом компоненте предусмотрено что-то подобное?нет, в текущей реализации нет работы с прокси. Вы можете расширить базовый класс rgContentGetter и добавить туда что угодно.
Писал свой парсер для Алиэкспресса, столкнулся с тем, что при попытке качать несколько товаров, они отдают страницу для авторизации.Столкнулся с такой же проблемой в ходе тестирования компонента. Как выяснилось закрыты товары что лежат в каком либо магазине, но у такого товара всегда есть оригинальная страница с другим адресом. Так вот решилось небольшими костылями.
Кратко: Если попытка получить контент закончилась неудачей — редирект на мобильную страницу — она всегда доступна, там выдираем ссылку на оригинальную и парсим уже ее.
Конкретного заказчика устроило данное решение, на этом и остановились. А так если компонент будет популярен то допишу работу с проксями…
Правильно ли я понимаю, что при парсинге товары сохраняются ресурсами в Modx? Можно ли использовать данный парсер для вытаскивания товаров с других сайтов на свой по дропшипингу?
Правильно ли я понимаю, что при парсинге товары сохраняются ресурсами в Modx?да
Можно ли использовать данный парсер для вытаскивания товаров с других сайтов на свой по дропшипингу?да
Добрый день. Я правильно понимаю, что нужно создать товар в админке, указать ссылку с сайта донора, нажать кнопку и тогда данные спарсятся? Сможете ли вы при покупке за дополнительную плату настроить шаблоны для разных доноров?
а есть возможность загрузить список ссылок для обработки, а не постранично?
Добрый день!
Может кто-то сталкивался с необходимостью сохранения кэша всего сайта при обновлении цен через крон?
Вопрос в возможности сбрасывать кэш непосредственно у товара
Может кто-то сталкивался с необходимостью сохранения кэша всего сайта при обновлении цен через крон?
Вопрос в возможности сбрасывать кэш непосредственно у товара
Это на самом деле очень просто делается
Вот такой метод есть у кэш менеджера для очистки кэша конкретного ресурса (товар это же ресурс)
Вот такой метод есть у кэш менеджера для очистки кэша конкретного ресурса (товар это же ресурс)
$modx->cacheManager->delete($product_id, array(xPDO::OPT_CACHE_KEY => 'resource/web/resources'))
Сначала написал потом, подумал о контексте вопроса. Конкретно в обсуждаемом компоненте не видел как сбрасывается кэш, и сбрасывается ли вообще.
Здравствуйте. А компонент ещё поддерживается? И ещё: Возможен ли парсинг нескольких тысяч товаров за один проход парсера(не совсем понял, он может парсить только с конкретной карточки товара или с каталога тоже умеет?)?
Присоединюсь к вопросу, кто-то использовал компонент в последнее время?
Автор на связи?
Автор на связи?
Авторизуйтесь или зарегистрируйтесь, чтобы оставлять комментарии.