-
Публикаций
767 -
Зарегистрирован
-
Посещение
Тип публикации
Профили
Форум
Дополнения
Статьи
FAQ
Наши новости
Наши услуги
Блоги
module__dplus_manager
Все публикации пользователя Axelenz
-
Читайте документацию! Разработчик советует https://simplepars.top/index.php?page=note&n=46
- 13 701 ответ
-
- simplepars
- парсинг товаров opencart
- (и ещё 15)
-
Показывать 4 знака не проблема, хотя 1 кВт = 1000 Вт {reg[#^(\d{4})\d+$#]}|$1
- 13 701 ответ
-
- 1
-
-
- simplepars
- парсинг товаров opencart
- (и ещё 15)
-
Решение: попросить у них выгрузку xml/yml и с неё уже дальше брать url товаров, которые в наличии.
- 13 701 ответ
-
- 1
-
-
- simplepars
- парсинг товаров opencart
- (и ещё 15)
-
Цей вираз для "Повторяющаяся граница парсинга" Саме там він буде працювати... https://simplepars.top/index.php?page=note&n=8
- 13 701 ответ
-
- simplepars
- парсинг товаров opencart
- (и ещё 15)
-
Вам потрібно ще вивчати, як працювати з атрибутами. Тут де Ви міняєте можливо простіше замінювати >Довжина<|>Довжина, мм< У Вас Windows просить активацію {reg[#^Довжина$#u]}|Довжина, мм тут написано: міняти в тому випадку, коли є лише тільки слово "Довжина" та більше нічого. Регулярний вираз потрібно не тільки правильно написати, але й розмістити в правильному місці, а інакше він не буде давати те, що Ви від нього хочете.
- 13 701 ответ
-
- simplepars
- парсинг товаров opencart
- (и ещё 15)
-
Регулярний вираз працює, якщо його правильно використовувати: Не зрозуміло де саме та як Ви його використовуєте...
- 13 701 ответ
-
- simplepars
- парсинг товаров opencart
- (и ещё 15)
-
Дайте подивитися повний тег, щро містить цей атрибут.
- 13 701 ответ
-
- simplepars
- парсинг товаров opencart
- (и ещё 15)
-
Потрібно все робити виходячи з елементарної логіки. Довжина у Вас є скрізь, отже потрібно виділити його якимсь чином Самий простий спосіб - через регулярний вираз. {reg[#^Довжина$#u]}|Довжина, мм
- 13 701 ответ
-
- 1
-
-
- simplepars
- парсинг товаров opencart
- (и ещё 15)
-
Мне кажется, что это то, что Вы ищите...
- 13 701 ответ
-
- 1
-
-
- simplepars
- парсинг товаров opencart
- (и ещё 15)
-
Читать мануалы дальше про повторяющиеся границы https://simplepars.top/index.php?page=note&n=8
- 13 701 ответ
-
- simplepars
- парсинг товаров opencart
- (и ещё 15)
-
На форуме про Атрибуты очень много информации есть... даже есть скрипт автора по парсингу артибутов с группами...
- 13 701 ответ
-
- simplepars
- парсинг товаров opencart
- (и ещё 15)
-
Привяжитесь к чему-то нормальному, что идёт после Ваших атрибутов, например: <div class="button или что там у Вас следует за ними...
- 13 701 ответ
-
- simplepars
- парсинг товаров opencart
- (и ещё 15)
-
Откуда же ему понять, какой именно из </div> закрывающий для <div class="specifications__item"> ? Привязываться необходимо к первому не повторяющемуся буквенно-цифровому сочетанию, которое идёт после того, что хотите спарсить.
- 13 701 ответ
-
- simplepars
- парсинг товаров opencart
- (и ещё 15)
-
Не вдаваясь в подробности, прочтите внимательнее начало моего сообщения: А можно...
- 13 701 ответ
-
- simplepars
- парсинг товаров opencart
- (и ещё 15)
-
Можно, но сам вариант мне не нравится... Я бы тогда пошёл методом формирования задержки без всяких сложностей и нагрузок на хостинг, без скриптов и пр.: Сделать проект-заглушку. который будет парсить ссылку со своего же сайта с Паузой, например 18000 секунд (полчаса) или какое необходимо. Т.е. указывается выполнение двух проектов в одно и то же время, первым проектом "заглушка" идёт, которая просто тормозит выполнение главного проекта, который выполняется по порядку после неё...
- 13 701 ответ
-
- simplepars
- парсинг товаров opencart
- (и ещё 15)
-
Вот как раз мой пост выше и об этом тоже... Если реализовать то, что я написал, тогда указываете запуск в одно и то же время проектов. Только во втором случае делаете 30 мин. задержку и тогда это вполне реализуемо... Ждём, что скажет сам разработчик... Как примитивный вариант: можно конечно нагрузить модуль выполнением какой-то не нужной работы, на которую будет потрачено те же полчаса, а потом следующее по порядку задание будет выполняться реально нужное, но... вариант так себе... нагружать хостинг выполнением задания, которое служит лишь для задержки (
- 13 701 ответ
-
- simplepars
- парсинг товаров opencart
- (и ещё 15)
-
Добрый день@Rassol2 А можно добавить в Редактор товара, в Действие задержку начала выполнения задания в интервале 1-60 мин, например ? Т.е. чтобы в cron в Дополнительные действия. [Редактор товаров] я мог прописать следующее задание: Задержка на 5 минут | Перед началом выполнения задания Вопрос: А зачем это нужно, если можно настроить конкретно по часам выполнение задания ? Ответ: Есть варианты, когда клиентам дают выгрузки xml/yml которые обновляются по определённым часам. например в 9, 13. 18... Вот часто клиенты заказывают именно синхронизацию данных своих и поставщика, чтобы не через час получать их, а сразу после формирования выгрузки у поставщика. Если я пропишу cron у клиента на 09:00, то какие данные я получу ? Те, которые были выгружены, до 9-ти часового обновления? Т.е. "свежие" данные мне необходимо парсить не в 09:00, а например в 09:05 или 09:10... именно после того, как будет сформирована обновлённая выгрузка, на что требуется время... Ну или подскажите, как мне затормозить выполнение cron в указанное время, не используя скрипты ?
- 13 701 ответ
-
- simplepars
- парсинг товаров opencart
- (и ещё 15)
-
Это может так выглядеть: {reg[#(.*?(Rehau).*?|.*?)#i]}|$2
- 13 701 ответ
-
- 1
-
-
- simplepars
- парсинг товаров opencart
- (и ещё 15)
-
Не выполняется какое именно задание "сбор ссылок" ? А Вы логику свою посмотрите, что Вы там написали... Даёте задание в 7 день недели выполнить, а сам планировщик настроен на запуск cron в Понедельник... Ничего странного ? Второе ладно... хотя не понятно, зачем таймаут менять ? Каждый час хотите парсить донора ? В планировщике НЕ ВСЕГДА работает так, как автор дал ДЛЯ ПРИМЕРА... На каждом хостинге может быть свой синтаксис записи в планировщике... Начинать необходимо с логичной записи в cron чтобы убедиться, что не срабатывает именно на хостинге, а не потому, что кривая логика в cron...
- 13 701 ответ
-
- simplepars
- парсинг товаров opencart
- (и ещё 15)
-
Нічого не вийшло тому, що Ви використовуєте "метод научного тыка", а це не завжди працює так, як хотілося б. Спробуйте прочитати доки, та зрозуміти спочатку на простих прикладах, як все це працює. Якщо використовуєте регулярні вирази, то почитайте окремо про них. Автор не дає розширених знань по регулярним виразам тому, що це зовсім окрема тема, яка задіяна в модулі як бонус для тих, кому це цікаво для окремого вивчення та застосування.
- 13 701 ответ
-
- simplepars
- парсинг товаров opencart
- (и ещё 15)
-
Можно было бы использовать и попроще выражение, например: ({skip})| но есть ньюанс в том, что если в атрибутах где-то ещё встречаются тексты в скобках, что вполне возможно, то их так же удалит. Как пример: PCI-E (IV) x1 (Материнські плати). То же выражение, что я дал ранее: {.*} ({skip})|$1 удалит только последние скобки с текстом (Материнські плати).
- 13 701 ответ
-
- simplepars
- парсинг товаров opencart
- (и ещё 15)
-
Наверное не внимательно читали... https://simplepars.top/index.php?page=note&n=9 Можно вот так: {.*} ({skip})|$1
- 13 701 ответ
-
- 1
-
-
- simplepars
- парсинг товаров opencart
- (и ещё 15)
-
2 147 483 647 Чтобы понять эту цифру... Предположим, что сайту около 20 лет (примерное время появления Opencart). Тогда, чтобы забить идентификатор, необходимо в течении 20 лет ежедневно (365 дней в году) парсить примерно по 300 000 товаров...
- 13 701 ответ
-
- simplepars
- парсинг товаров opencart
- (и ещё 15)
-
Как минимум - попробовать парсить не "по полной", а в один поток и с задержками...
- 13 701 ответ
-
- 1
-
-
- simplepars
- парсинг товаров opencart
- (и ещё 15)
-
Предложение для расширения функционала. Часто сталкиваюсь с тем, что у клиентов работают в связке модули SimplePars и АОП (как вариант). Если много проектов, то приходится повозиться с настройками, чтобы всё включалось в работу последовательно и отрабатывало правильно. Предлагаю в новые релизы включить функционал, который может несколько облегчить настройки. Я бы назвал это "задержка". Разместить его в "Настройка задания" в cron. Как пример: - включается в работу SimplePars по cron в 12-00; - включается в работу АОП в 12-00. Причём АОП должен обрабатывать данные, которые он получает с SimplePars. Перенести на другое время нельзя, необходимо быстро обновить (пусть выгрузка с 1С) через АОП то, что получено от SimplePars. Выход из положения. Пусть "задержка" - это будут минуты, диапазон 1-60, могут принимать так же и отрицательные значения. Т.е. "задержка" -5 при указании в cron "Часы" 12-00 означает, что cron сработает в 11-55 с учётом "задержки" -5. (Если "задержка" 5, то cron начинает работу в 12-05 и т.д...) Тогда получим, что, например, за 5 минут до 12-00 SimplePars уже начинает работать и АОП (или другой модуль) в 12-00 может получить необходимые данные данные. Это всего лишь как предложение для рассмотрения.
- 13 701 ответ
-
- simplepars
- парсинг товаров opencart
- (и ещё 15)