-
Posts
744 -
Joined
-
Last visited
Content Type
Profiles
Forums
Marketplace
Articles
FAQ
Our New
Store
Blogs
module__dplus_manager
Everything posted by Axelenz
-
Подскажите, планируется ли расширение возможностей модуля для работы с атрибутами ? В частности, интересует автоматическое создание (по принципу, если нет созданных в ИМ) групп атрибутов, т.е. спарсить и создать у себя такую же группу. И "красивая" заливка атрибутов с донора по группам, как в первоисточнике... Сами атрибуты будут выстроены в пределах группы по алфавиту, это понятно. При большом количестве товаров сортировать атрибуты по важности просто не реально. Но по группам то разбить реализуемо ? Как-то так, как у донора:
- 13,430 replies
-
- simplepars
- парсинг товаров opencart
- (and 15 more)
-
Вот так лучше будет: {reg[#(\s*\<br\>\s*)+#]}|<br> "{reg[#<br>{2,}#]}|" а такая конструкция и не сработает. Тут что написано то ? 2 или более подряд идущих <br>. Подряд! А как правило между ними есть или горизонтальные или вертикальные разделители... Ну и экранирование мета-символов отсутствует...
- 13,430 replies
-
- 2
-
- simplepars
- парсинг товаров opencart
- (and 15 more)
-
Нет, у меня крошки все на месте, без них не получилось бы разбрасывать товар покатегорийно... Но согласен, что такой вариант не везде и не всегда пройдёт... Парсю всё в csv, потом беру только те номера id, на которых есть товар, чтобы с "пустыми" id не возиться и скормлю потом, пусть cron работает по этим ссылкам, никакой даже очереди сканирования мне не нужно ) Главное сделать "запас" ссылок на будущее.
- 13,430 replies
-
- simplepars
- парсинг товаров opencart
- (and 15 more)
-
Подскажите, если при парсинге Opencart я использую ссылки минуя ЧПУ типа такого donor.com.ua/index.php?route=product/product&product_id=1 ... donor.com.ua/index.php?route=product/product&product_id=4000 чтобы не заморачиваться с поиском ссылок на довольно кривом сайте просто в Excel по формуле вывел список . Вместо, например более 6000 ссылок в очереди сканирования я получаю всего 4000 с запасом на будущее и не заморачиваюсь с поисками, вставляю их в ссылки на товары. Могут быть в этом подходе какие-то минусы, что я не учёл ?
- 13,430 replies
-
- simplepars
- парсинг товаров opencart
- (and 15 more)
-
Из хотелок... Удобно было бы, чтобы присутствовало в Изображения (Парсинг в ИМ) поле, где можно было бы указывать ограничение на количество загружаемых фото. Например: Выбираем 1 - загружается только Главное изображение, 2 - Главное и дополнительное 3 - и так далее. ALL - все фото (по умолчанию). И при всех Обновлениях и пр. действиях сохранялась бы логика количества изображений.
- 13,430 replies
-
- simplepars
- парсинг товаров opencart
- (and 15 more)
-
Спасибо за подсказку. Заменил файлы на нормальные стандартные... пусть разбираются те, кто накосячил, моя работа наполнить магазин товарами не смотря ни на что...
- 13,430 replies
-
- simplepars
- парсинг товаров opencart
- (and 15 more)
-
Спасибо, всё теперь на русском при выполнении inst.php Но кто-то полазил в контроллере в файлах категорий, производителя и товара и теперь вижу такую картину при загрузке через SimplePars
- 13,430 replies
-
- simplepars
- парсинг товаров opencart
- (and 15 more)
-
Warning: Cannot modify header information - headers already sent by (output started at /sata1/home/users/sportzona/www/www.*****************/inst.php:1) in /sata1/home/users/sportzona/www/www.********************.com.ua/inst.php on line 3 Модуль SimplePars успешно установлен/обновлен! А это правильный ответ пришёл теперь ? В базе есть файл key с кодировкой cp1251_general_ci
- 13,430 replies
-
- simplepars
- парсинг товаров opencart
- (and 15 more)
-
Подскажите, на ocStore 3.0.2.0 при выполнении inst.php вылезают кракозябры Модуль SimplePars успешно установлен/обновлен! Где искать проблемы с кодировкой ? есть один файл _key в базе в кодировке cp1251
- 13,430 replies
-
- simplepars
- парсинг товаров opencart
- (and 15 more)
-
Попробуйте в очередь сканирования хотя бы ведро какое-нибудь бросить, для затравки ) Вот так:
- 13,430 replies
-
- simplepars
- парсинг товаров opencart
- (and 15 more)
-
Для этого и существуют эти настройки: Делаете в проекте проверку по Производителю, т.е. указываете в этом месте границу Производитель и условия, по которым товар загружать/не загружать. Но поможет в том случае, если донор педантично заполняет поле производитель ) Ну и нужно помнить, что Адидас и Adidas для модуля не одно и то же...
- 13,430 replies
-
- 1
-
- simplepars
- парсинг товаров opencart
- (and 15 more)
-
Я не знаю, как с помощью <{skip}> можно привести текст к такому виду, как мне нужно, с выборочным сохранением форматирования текста: Вот так даже можно записать: {reg[#\<(.+)\>\h*\</\1\>#u]}| {reg[#\<(.+)\>\</\1\>#]}| {reg[#\h{2,}#u]}| {reg[#^\s+|\s+$#mu]}|
- 13,430 replies
-
- 1
-
- simplepars
- парсинг товаров opencart
- (and 15 more)
-
Всем желающим почистить текст от "паразитных" пустых тегов с пробельными символами или без них, предлагаю использовать регулярные выражения типа: {reg[#(\<.+\>\h*?\</.+\>)*?#u]}| {reg[#^\s+|\s+$#m]}| Текст до и после обработки см. на картинке, там всё понятно...
- 13,430 replies
-
- 1
-
- simplepars
- парсинг товаров opencart
- (and 15 more)
-
Так удалить можно, но... а что делать с такой конструкцией, где есть полезный текст: <p><em>Текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст текст</em></p> Её тоже удалить ?
- 13,430 replies
-
- simplepars
- парсинг товаров opencart
- (and 15 more)
-
Столкнулся с ситуацией, когда не получается простым способом удалить конструкцию, например, вот такого плана: <p><em> </em></p> Использовать регулярные выражения не вижу смысла, а штатными не получается, предвидя вопрос, сразу отвечаю: и копировал с текста, и вставлял сам пробел и в нотепад смотрел что там... но не удаляется это так просто. Единственный способ, которым снёс, не прибегая к помощи регулярных выражений: <p><em>{.}</em></p>| но этот способ меня не устраивает... мало ли что туда может случайно попасть при ошибке заполнения: цифра или буква... Предлагаю расширить основные операторы в поиск замене на: {_} - Один любой пробельный горизонтальный символ. И туда запихнуть абсолютно все возможные горизонтальные пробельные символы, включая юникодовские... {_*} - группа любых пробельных горизонтальных символов. И чтобы удаляло всю группу последовательных пробельных горизонтальных символов в любой последовательности, пока не встретит НЕ пробельный символ.
- 13,430 replies
-
- 1
-
- simplepars
- парсинг товаров opencart
- (and 15 more)
-
{reg[#(\d+)\D+?(\d+)\D+?(\d+)#u]}|$2 Берём по порядку $1, $2, $3 Ну и перевод на человеческий язык: Первая группа из цифр $1 (одна или больше), за которыми следуют НЕ цифры 1-на или больше (нежадный), за которыми следует вторая группа из цифр $2 (одна или больше), за которыми следуют НЕ цифры 1-на или больше (нежадный), за которыми следует третья группа из цифр $3 (одна или больше). Возвратить группу $2 {reg[#[^\d]#]}| или так {reg[#\D#]}| или так {reg[#[^0-9]#]}| Забыл написать, следующую регулярку можно поставить вот эту на тот случай, если у Вас в тексте могут встречаться лишние, например, пробельные символы. Она удалит всё, что НЕ является ЦИФРАМИ. В принципе, возможно написать и одной строкой: {reg[#^\D*?(\d+)\D+?(\d+)\D+?(\d+)\D*?$#u]}|$2 {reg[#^[^\d]*?(\d+)[^\d]+?(\d+)[^\d]+?(\d+)[^\d]*?$#u]}|$2 {reg[#^\D*?([^\D]+)\D+?([^\D]+)\D+?([^\D]+)\D*?$#u]}|$2 {reg[#^[^0-9]*?([0-9]+)[^0-9]+?([0-9]+)[^0-9]+?([0-9]+)[^0-9]*?$#u]}|$2 результат будет тот же...
- 13,430 replies
-
- 1
-
- simplepars
- парсинг товаров opencart
- (and 15 more)
-
Модуль Автоматическая обработка прайс-листов. [Поддержка]
Axelenz replied to usergio's topic in Модули обмена данными
Добрый день. Спасибо, сделал - заработало... cron на локалке пустой, сохранять мне нечего, поэтому при установке этот пункт пропустил и не предал значения важности этого действия...- 49,460 replies
-
- поставщики импорт
- наполнение им
- (and 19 more)
-
Модуль Автоматическая обработка прайс-листов. [Поддержка]
Axelenz replied to usergio's topic in Модули обмена данными
Добрый день. Имею на локалке ocStore 2.3.0.2.3 Пробую установить новый АОП v.9.3 Настройки Open Server 5.2.2 следующие: не получается поставить... Причём, версия 9.2 работает без проблем... Попробовал снова установить 9.1 - устанавливается и работает без проблем с for php7.1. Попробовал снова установить 9.2 - устанавливается и работает без проблем с for php7.2. Попробовал снова установить 9.3 - выдаёт ошибку. Пробовал несколько раз и брал for php7.1 и for php7.2. В архиве for php7.3 к сожалению нет... Получаю: Кто подскажет, куда копать ?- 49,460 replies
-
- поставщики импорт
- наполнение им
- (and 19 more)
-
Прошлый пост по удалению пробельных символов из текста В прошлом сообщении я расписывал несколько регулярных выражений для "чистки" текста от лишних пробельных символов. Но чем хороши регулярные выражения, что почти всегда можно найти, как это реализовать по-другому. Варианты регулярного выражения, которое приводит текст к виду "стих" (с сохранением перевода строки в конце строки) 1. Вариант использует \s - пробельный символ. {reg[#\h{2,}#]}| - тут пробел {reg[#^\s+|\s+$#m]}| 2. Вариант использует \S - непробельный символ. {reg[#\h{2,}#]}| - тут пробел {reg[#^[^\S]+|[^\S]+$#m]}| 3. Вариант использует $1 - захваченную группу. {reg[#\h{2,}#]}| - тут пробел {reg[#^\s+(.*?)\s+$#m]}|$1 4. Вариация из 2-го и 3-го вариантов. {reg[#\h{2,}#]}| - тут пробел {reg[#^[^\S]+(.*?)[^\S]+$#m]}|$1 ... Результат после преобразования:
- 13,430 replies
-
- 3
-
- simplepars
- парсинг товаров opencart
- (and 15 more)
-
Может Вы про это: {reg[#<a\s.*?href="(.+?)".*?>(.+?)</a>#]}|$2 Чтобы удаляло - после черты ничего не ставим, чтобы заменить - ставим, на что заменить... Вы задаёте постоянно не конкретные вопросы, но хотите получать на них конкретные ответы. Подумайте над тем, что правильно сформулированный вопрос несёт в себе 50% ответа на него... Когда научитесь задавать правильные вопросы - половина их сразу отпадёт. Автор модуля физически не сможет параллельно с разработкой модуля проводить курсы программирования, изучения html, регулярных выражений и пр. основ сайтостроения и парсинга. Так же, как продавец автомобилей не должен заниматься обучением вождения... Что значит возвращать содержимое ? Чтобы вернуть то, что уже есть - не нужно ничего с ним делать. Чтобы удалить - после "|" оставляем пустое место, т.е. заменить на "пусто". Чтобы заменить - после "|" подставляем на что меняем...
- 13,430 replies
-
- 1
-
- simplepars
- парсинг товаров opencart
- (and 15 more)
-
Это удаляет ссылки, а Вы пишите про оставить ссылки на производителей...
- 13,430 replies
-
- simplepars
- парсинг товаров opencart
- (and 15 more)
-
\s включает в себя и \t в том числе
- 13,430 replies
-
- simplepars
- парсинг товаров opencart
- (and 15 more)
-
{reg[#\v{2,}#]}|{br} {reg[#\h{2,}#]}| - тут пробел {reg[#^\s+|\s+$#m]}| Человеческим языком: Первым выражением сводим все дубли вертикальных переносов к одному {br}. Вторым выражением сводим все горизонтальные пробельные символы к одному " ". Третьим - убираем в каждой строке в начале и в конце любые оставшиеся пробельные символы. Получаем полную зачистку от лишних пробельных символов... \s - любой пробел (такой же как [\t\n\r\f]) \h - горизонтальный разделитель. Табуляция, пробел и все символы в Unicode категории «разделители» \v - вертикальные разделители. новая строка и все символы «разделители строк» в Unicode Конкретно в Вашем случае, amd4 может и достаточно было бы {reg[#^\s+|\s+$#m]}| но... для того, чтобы понять это, необходимо спарсить всё в csv и проверить... Лично я всегда перестраховываюсь и вставляю формулы с разумной избыточностью... не всегда на сайтах встретишь "чистый код" ( Рекомендую всем начинающим взять себе на заметку и не задавать автору модуля одни и те же вопросы изо дня в день. То, что описано выше помогает получить, например, Описание товара, с сохранением существующих переносов строки. Как пример - стихи. Если перенос строки не важен (простой текст), то рекомендую использовать более простой вариант "метлы": {reg[#\s{2,}#]}| - тут стоит пробел. Его не видно, но он там есть! {reg[#^\s+|\s+$#]}| Первое правило превратит ВСЕ (от 2-х и больше) пробелы, табуляции, переводы строк и пр. в один пробел. Второе правило - обрежет любой пробельный символ в начале и в конце текста. Ну а дальше можно отталкиваться от того, что Вы хотите получить, какой вид текста. Если даже этих двух способов очистки Вам явно не хватает - изучайте, что такое обычная граница парсинга, что такое повторяющаяся граница парсинга... В справке есть ответы на 99% возможных вопросов, а 1% автор умышленно оставил пользователям для нашего же развития )
- 13,430 replies
-
- 4
-
- simplepars
- парсинг товаров opencart
- (and 15 more)
-
Чтобы не рассекречивать свой супер-пупер-шмупер засекреченный проект, которого даже в интернете не найти, воспользуйтесь самым простым способом избавиться от пустот: {reg[#\s{2,}#]}| - тут стоит пробел. Его не видно, но он там есть! {reg[#^\s+|\s+$#]}| Первое правило превратит ВСЕ пробелы, табуляции, переводы строк в один пробел. Второе правило обрежет пробел в начале и в конце. Ну а дальше можно отталкиваться от того, что Вы хотите получить, какой вид текста. Есть одна простая зависимость: чем сложнее необходимо регулярное выражение, чтобы достать нужную информацию - значит тем меньше пользователь читал справку автора модуля... Как правило, всегда можно обойтись самыми простыми наборами регулярок, автор модуля уже всё продумал и решил за нас... ) Как он правильно показывал в недавних сообщениях, почти под каждую задачу можно найти не один а несколько способов решения. Чем проще решение - тем оно красивее с точки зрения логики...
- 13,430 replies
-
- 2
-
- simplepars
- парсинг товаров opencart
- (and 15 more)
-
{reg[#\s{2,}#]}| {reg[#^\s+|\s+$#]}| {reg[#^(.*?)([ ]|_)(\d{1,})$#]}|$3 И вот такая регулярка поможет Вам.
- 13,430 replies
-
- 1
-
- simplepars
- парсинг товаров opencart
- (and 15 more)