Jump to content
Search In
  • More options...
Find results that contain...
Find results in...

Axelenz

Users
  
  • Posts

    744
  • Joined

  • Last visited

Everything posted by Axelenz

  1. Вот так можно подготовить Атрибуты перед разделением на Наименование атрибута и Значение атрибута. В следующей повторяющейся границе теперь используем для указания границ • и <br>. В итоге получаем спарсенные атрибуты примерно в таком виде: Это ведь просто текст, который весьма условно можно считать атрибутами, он не отформатирован должным образом. Он выполнен в виде обычного описания товара. Поэтому такие участки можно поправить исключительно в том случае, если во всех товарах всё повторяется и можно сделать в первой границе сразу замену на текст, который возможно разделить на атрибуты правильно... а так только вручную... В Вашем случае можно попробовать: , дополнительная защита|<br>{br}• Дополнительная защита ; диаметр ригелей|<br>{br}• Диаметр ригелей
  2. \s - пробельный символ, включает в себя символ пробела, табуляции \t, перевода строки \n и некоторые другие редкие пробельные символы, обозначаемые как \v, \f и \r. Поэтому табуляция \t и так присутствует в \s. Я бы рекомендовал добавить ещё в справку: \h - любой горизонтальный пробельный символ полезная вещь, которая включает все пробельные символы, кроме вертикальных типа \v и \r\n. Ну и его антипод \H - любой символ, не являющийся горизонтальным пробельным символом
  3. Если что-то в виде кракозябр, то открываете, например, в LibreOffice и сохраняете файл в формате для Excel, а потом уже только открываете с помощью Excel. Удобно, не спорю...а что делать. А потом удивляются, почему никто не покупает Microsoft Office, это же так удобно )))
  4. В экспорте настроек не хватает для удобства кнопки "Полная очистка проекта". По типу, как у очистки ссылок, чтобы задавался вопрос "А Вы уверены, а может не надо...". Или подскажите, как можно получить из старого проекта (не удаляя его), девственно чистый проект, ну и чтобы это было не очень суетно... Зачем это нужно. Это только для тех, кто занимается парсингом не для себя... Накапливается множество проектов, а иногда удобно делать проекты одного и того же магазина подряд друг за другом, например, когда это проект только обновления цены и наличия ну или пр. Ну и может можно сделать экспорт не одного проекта, а всех проектов сразу, чтобы по отдельности их не экспортировать и не переименовывать ( Ещё можно было бы добавить по принципу полной очистки: "Очистить все кеши" "Очистить все cookies" ... Ну это хотелки их разряда удобства эксплуатации модуля и к функциональности не относятся, но всё же...
  5. {reg[#^#]}|Любой текст - Добавить в начало текста что то.{reg[#$#]}|Любой текст - Добавить в конец текста что то.{reg[#$#m]}|Любой текст - Добавить любой текст в начало каждой строки.{reg[#^#m]}|Любой текст - Добавить любой текст в конец каждой строки. (Обратит внимание что конец строки идет после символа перехода на новую строку.) Читайте мануал по модулю и хотелок будет меньше. И почему это делать нужно именно "что делать при обновлении" ? В АОП есть подобная возможность "Соединить с описанием:" и "добавить сверху", "добавить снизу", но... SKU с разных источников далеко не всегде одинаковы... Или как вариант искать, может совпадает по альтернативному SKU...
  6. Что-то типа такого Вам может помочь: {reg[#(.{1,220}(?=\s))(.*)#]}|$1 Слова не будет обрезать, будет искать последний пробел, который входит в заданный диапазон...
  7. Да, есть такое. Постоянно парсю подобный сайт. Парсинг около 10,000 товаров занимает около 3 часов, а жизнь cookies при этом составляет 5 минут и потом слетает регистрация, т.е. парсится всё то же самое, но цены уже только розничные, а мне нужны розничные и оптовые, доступ к которым только через личный кабинет... Поэтому решение было найдено такое: пишется скрипт, который запускается на ночь, управляет и браузером и модулем. Каждые 5 минут останавливает парсинг, выходит из личного кабинета, снова заходит, регистрируется, записывает новые cookies и запускает модуль, записывает всё в логи... Если упрощённо, то как-то так... Другими словами, для модуля необходим робот-администратор...
  8. Да, я делаю из набора слов текст уже пригодный для чтения. Поисковики всё же предпочитают слова, написанные правильно... А ещё часто приходится из текста удалять разнообразные варианты написания названия магазина донора... даже тут с ошибками умудряются накалякать.
  9. Вот ещё задача, которую можно решить только с помощью одиночной замены символа: Например, в тексте есть множество исковерканных вариантов написания простого слова ИНДУСТРИАЛИЗАЦИЯ. Необходимо всё свести к правильному написанию слова. индустреалезацея индустреализацея индустриалезацея индустреализация индустриалезация индустриализацея индустр{.}ал{.}зац{.}я|индустриализация Задача решается в одну строку, если иметь инструмент {.} Мне, например, часто приходится исправлять в тексте Описания подобные ошибки, но сейчас это несколько неудобно...
  10. Нет, тот пример решаем... Вот пример, который не возможно решить с помощью {skip}, где имеется ввиду любое количество символов. БАР{skip}Н|БАРАН Пример текста: Бла-бла-бла БАРОН, а БАРИН блю-блю-блю, а БАРАН бле-бле-бле, но БАРАБАН бан-бан-бан... Вот в выделенных словах №1 и №2 сделана ошибка, нужно их исправить на БАРАН, как в слове №3. Но слово БАРАБАН правильно написано и его исправлять не нужно. Вот это можно решить с помощью единичной символьной замены...
  11. Да... потому, что попробуйте в тексте, где многа букав и есть, например, несколько дат для замены: бла-бла-бла дата:04/02/21 бла-бла-бла 19/02/21 бла-бла-бла заменить их вот так: {skip}/02/21|$1 февраля 2021 года не... это получилось заменить... не могу пока найти пример.
  12. Нужно обратить внимание на указанный диапазон глубины ссылок 5-6... При указании глубины 4-6 уже берёт указанную ссылку. Не должно быть в ссылках на товар: не "/#" а "#" лучше укажите.
  13. Из хотелок... Не хватает среди основных операторов в поиск замене, например, вот такого: {.} Что означало бы "любой одиночный символ" В регулярных выражениях используют: "." В Excel используют: "?" Можно и регулярками это заменить, но ведь можно было бы и нужно бы проще, например, если нужно заменить такую конструкцию: </h1><|</h1>{br}< </h2><|</h2>{br}< </h3><|</h3>{br}< </h4><|</h4>{br}< </h5><|</h5>{br}< </h6><|</h6>{br}< Выглядело бы намного проще вот так: </h{.}><|</h{$1}>{br}< А справа в замене после вертикальной черты (пайп), можно по аналогии с регулярными выражениями, возвращать через $1, например, реальное значение слева от вертикальной черты... Что скажете ? Можно расписать, имея такой инструмент, очень много чего: дни, месяцы, годы... Например: {.}{.}.02.21г.|{$1}{$2} февраля 2021 года
  14. Модуль может парсить количество, которое указано в опции, но не может подсчитать количество самих опций. Можно решить разве что с помощью регулярок, подсчитать сколько там чего-то... А поскольку регулярки тоже не складывают вот так просто, то можно с помощью замены. Т.е., например: <div> = 1 <div><div> = 2 и так далее, думаю смысл понятен... "пробовал в настройках парсинга ставить разделители "+" и {+}" + - это сложение, а не разделитель. А если значения есть, то сложить их можно так: {gran_3}{+}{gran_2}{+}{gran_3}...
  15. Ну могу предложить более сложный, но зато более действенный вариант с проверкой на Заглавные буквы после точки: {reg[#(?=(^а))а#]}|А {reg[#(\.[ ]+)(?=(а))а#]}|$1А смысл, я думаю, понятен, прописываем все буквы русского алфавита... ну разве что кроме "Ь" и "Ъ"... не помню слов, чтобы начинались на них... {reg[#((?=(^а))|(\.[ ]+)(?=(а)))а#]}|$1А Даже так работает ))) Минимизировал до такого: {reg[#(^|(\.[ ]+))а#]}|$1А
×
×
  • Create New...

Important Information

On our site, cookies are used and personal data is processed to improve the user interface. To find out what and what personal data we are processing, please go to the link. If you click "I agree," it means that you understand and accept all the conditions specified in this Privacy Notice.