Перейти до вмісту
Пошук в
  • Детальніше...
Шукати результати, які ...
Шукати результати в ...

Recommended Posts

1 час назад, amd4 сказал:

ссылки на сайт донора сюда скинуть не могу из коммерческих интересов.

Чтобы не рассекречивать свой супер-пупер-шмупер засекреченный проект, которого даже в интернете не найти, воспользуйтесь самым простым способом избавиться от пустот:

 

{reg[#\s{2,}#]}| - тут стоит пробел. Его не видно, но он там есть!
{reg[#^\s+|\s+$#]}|

 

Первое правило превратит ВСЕ пробелы, табуляции, переводы строк в один пробел.

Второе правило обрежет пробел в начале и в конце.

Ну а дальше можно отталкиваться от того, что Вы хотите получить, какой вид текста.

 

Есть одна простая зависимость:

чем сложнее необходимо регулярное выражение, чтобы достать нужную информацию - значит тем меньше пользователь читал справку автора модуля... Как правило, всегда можно обойтись самыми простыми наборами регулярок, автор модуля уже всё продумал и решил за нас... )

Как он правильно показывал в недавних сообщениях, почти под каждую задачу можно найти не один а несколько способов решения. Чем проще решение - тем оно красивее с точки зрения логики... 

Змінено користувачем Axelenz
  • +1 2
Надіслати
Поділитися на інших сайтах


52 минуты назад, partshez сказал:

{reg[#(^\s+$[\r\n]*)|(^\t+$[\r\n]*)#m]}| 

{reg[#^(\s|\t)+#m]}|

Удалить пустую строку из табов и пробелов      

Спасибо, но немножко не то 

 

34 минуты назад, Axelenz сказал:

Чтобы не рассекречивать свой супер-пупер-шмупер засекреченный проект, которого даже в интернете не найти, воспользуйтесь самым простым способом избавиться от пустот:

 

{reg[#\s{2,}#]}| - тут стоит пробел. Его не видно, но он там есть!
{reg[#^\s+|\s+$#]}|

 

Первое правило превратит ВСЕ пробелы, табуляции, переводы строк в один пробел.

Второе правило обрежет пробел в начале и в конце.

Ну а дальше можно отталкиваться от того, что Вы хотите получить, какой вид текста.

Да он вовсе не секретный))) ,Но аналог пока только встречался один. 

 

{reg[#^\s+|\s+$#]}|   - вот это что то ближе к истине но все равно не сначала строки начинается,

Собственно я к этому тоже пришел этим выражением -   {reg[#^[ \s]+|[ \s]+$#]}|

Змінено користувачем amd4
Надіслати
Поділитися на інших сайтах


@amd4 этот вопрос можно решить через:
1. поиск замену.
2. Настройки границы парсинга + поиск замену
3. Возможно чисто настройками границ парсинга.

но ничего этого не сделать не имея на руках код.
Можно конечно целый день выдвигать теории, предположения и надеяться что вы делаете все так как вам говорят и нигде ничего не упускаете.
Либо просто предоставить площадку для тестирования. Это проект, ссылка и граница.

Надіслати
Поділитися на інших сайтах

46 минут назад, amd4 сказал:

{reg[#^\s+|\s+$#]}|   - вот это что то ближе к истине но все равно не сначала строки начинается,

{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% автор умышленно оставил пользователям для нашего же развития )

 

 

Спойлер

image.png.106a0954ada65906ce8511fd7bb78880.png

 

Змінено користувачем Axelenz
  • +1 4
Надіслати
Поділитися на інших сайтах


2 минуты назад, Axelenz сказал:

{reg[#\v{2,}#]}|{br}
{reg[#\h{2,}#]}| - тут пробел
{reg[#^\s+|\s+$#m]}|

Здесь еше как минимум не учтена обычная табуляция.
\t
она ведь тоже может там быть. :wink:

Надіслати
Поділитися на інших сайтах

Только что, Rassol2 сказал:

Здесь еше как минимум не учтена обычная табуляция.

\s включает в себя и \t в том числе

Надіслати
Поділитися на інших сайтах


Только что, Axelenz сказал:

\s включает в себя и \t в том числе

тогда сорян.
Век живи век учись :oops:

Надіслати
Поділитися на інших сайтах

3 часа назад, Axelenz сказал:

{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% автор умышленно оставил пользователям для нашего же развития )

 

 

  Скрыть контент

image.png.106a0954ada65906ce8511fd7bb78880.png

 

Спасибо

Надіслати
Поділитися на інших сайтах


Подскажите пожалуйста что я делаю не так , нужно оставить ссылки с текстом на производителей ну и чтоб по ней потом  возможно было перейти на сайт производителя. 

 по этому выражению кроме замены ничего не происходит  {reg[#<a\s.*?href="(.+?)".*?>(.+?)</a>#]}|

Я как понимаю нужно "посмотреть обратно" ? Но как это сделать не могу понять 

Змінено користувачем amd4
Надіслати
Поділитися на інших сайтах


10 минут назад, amd4 сказал:

по этому выражению кроме замены ничего не происходит  {reg[#<a\s.*?href="(.+?)".*?>(.+?)</a>#]}|

Это удаляет ссылки, а Вы пишите про оставить ссылки на производителей...

Надіслати
Поділитися на інших сайтах


А как вообще возвращать содержимое ? в  описании к парсеру расписаны выражения только удалить и заменить 

И тоже необходимо возвращаемое содержимое заключать в {reg[#  или как то по другому? 

Надіслати
Поділитися на інших сайтах


1 час назад, amd4 сказал:

А как вообще возвращать содержимое ? в  описании к парсеру расписаны выражения только удалить и заменить 

И тоже необходимо возвращаемое содержимое заключать в {reg[#  или как то по другому? 

А что вы хотите возвращать ?

Надіслати
Поділитися на інших сайтах

3 часа назад, amd4 сказал:

по этому выражению кроме замены ничего не происходит  {reg[#<a\s.*?href="(.+?)".*?>(.+?)</a>#]}|

Может Вы про это:

 {reg[#<a\s.*?href="(.+?)".*?>(.+?)</a>#]}|$2

Чтобы удаляло - после черты ничего не ставим, чтобы заменить - ставим, на что заменить...

 

Вы задаёте постоянно не конкретные вопросы, но хотите получать на них конкретные ответы. Подумайте над тем, что правильно сформулированный вопрос несёт в себе 50% ответа на него... Когда научитесь задавать правильные вопросы - половина их сразу отпадёт. 

Автор модуля физически не сможет параллельно с разработкой модуля проводить курсы программирования, изучения html, регулярных выражений и пр. основ сайтостроения и парсинга. Так же, как продавец автомобилей не должен заниматься обучением вождения...

 

Цитата

А как вообще возвращать содержимое ? в  описании к парсеру расписаны выражения только удалить и заменить 

И тоже необходимо возвращаемое содержимое заключать в {reg[#  или как то по другому?

Что значит возвращать содержимое ?

Чтобы вернуть то, что уже есть - не нужно ничего с ним делать.

Чтобы удалить - после "|" оставляем пустое место, т.е. заменить на "пусто".

Чтобы заменить - после "|" подставляем на что меняем...

Змінено користувачем Axelenz
  • +1 1
Надіслати
Поділитися на інших сайтах


5 часов назад, Rassol2 сказал:

А что вы хотите возвращать ?

Да простую ссылку с текстом  возвращать,  

Вот например у донора есть ссылка с текстом с переходом на сайт бренда - <a href="http://example1.com/product/блаблаблабалаблабала/" target="_blank">Бренд 1</a>

 

Нужно извлечь  ссылку и текст к ней и разместить на своем сайте вот так :  

Бренд 1

 

Но у меня что то ничего не получается даже близко. Выражение составил , не работает , ставлю | , всё работает, заменяет. 

 

 

Надіслати
Поділитися на інших сайтах


5 часов назад, amd4 сказал:

Да простую ссылку с текстом  возвращать,  

Вот например у донора есть ссылка с текстом с переходом на сайт бренда - <a href="http://example1.com/product/блаблаблабалаблабала/" target="_blank">Бренд 1</a>

 

Нужно извлечь  ссылку и текст к ней и разместить на своем сайте вот так :  

Бренд 1

 

Но у меня что то ничего не получается даже близко. Выражение составил , не работает , ставлю | , всё работает, заменяет. 

 

 

Извините но что бы извлечь ссылку и текст вам нужно просто ничего не делать с этим кодом.
<a href="http://example1.com/product/блаблаблабалаблабала/" target="_blank">Бренд 1</a>
Оставьте как есть, и к вам в описание перенесется и сам текст и сама ссылка.

Просто нетрожте этот код.

Надіслати
Поділитися на інших сайтах

1 час назад, Rassol2 сказал:

Извините но что бы извлечь ссылку и текст вам нужно просто ничего не делать с этим кодом.
<a href="http://example1.com/product/блаблаблабалаблабала/" target="_blank">Бренд 1</a>
Оставьте как есть, и к вам в описание перенесется и сам текст и сама ссылка.

Просто нетрожте этот код.

)) Действительно. 

Надіслати
Поділитися на інших сайтах


В 27.04.2021 в 13:10, Rassol2 сказал:

Отключите отправку сообщений на почту.
Это сделано что бы "смертные" понимали что процесс выполняется, и повторно запускать его ненужно.
В инструкции не написано что нужно ставить отправку уведомлений на почту. Следуйте инструкции.

я извиняюсь, про эти уведомления речь http://prntscr.com/13h13nv ? тоже спама накидало, на хостинге сказали сообщения отправляются с сайта с подменой заголовка на домен хостинга 

Змінено користувачем rozario888
Надіслати
Поділитися на інших сайтах


1 минуту назад, rozario888 сказал:

я извиняюсь, про эти уведомления речь http://prntscr.com/13h13nv ? тоже спама накидало, на хостинге сказали сообщения отправляются с подменой заголовка на домен хостинга 

Да отключайте.
Не нужный вам уведомления от крона.
 

Надіслати
Поділитися на інших сайтах

Столкнулся сейчас с картинкой которая ну очень огромная 

Спойлер

460445884_45544.thumb.jpg.ee32e8037be350c3380f5e8cbbb30da4.jpg

И это только её часть. 

Парсер либо так долго её обрабатывает что у меня терпения не хватило ждать, либо на ней подзавис?  

Обрабатывает он такие большие или как то можно сжать? 

 

 

Змінено користувачем amd4
Надіслати
Поділитися на інших сайтах


15 минут назад, amd4 сказал:

И это только её часть. 

Парсер либо так долго её обрабатывает что у меня терпения не хватило ждать, либо на ней подзавис?  

Обрабатывает он такие большие или как то можно сжать? 

А что значит обрабатывает ?
Мой модуль берет у донора кладет к вам.

Обработкой он не занимается.

Надіслати
Поділитися на інших сайтах

9 минут назад, Rassol2 сказал:

А что значит обрабатывает ?
Мой модуль берет у донора кладет к вам.

Обработкой он не занимается.

Я имел ввиду парсит, на вкладке  парсинга ИМ

Надіслати
Поділитися на інших сайтах


1 минуту назад, amd4 сказал:

Я имел ввиду парсит, на вкладке  парсинга ИМ

Модуль там ничего не обрабатывает.
Максимально в чем может быть затык это если фото весит мега много, и тупо не может быть скачано за 30 секунд.
И тогда модуль должен упасть в ошибку. НО! и этого не произойдет так как в модуле предусмотрено время ожидания от донора.
Если что либо не передается за указанное время вот тут
 

Спойлер

75u4Yx6.png


То модуль просто пропускает и идет дальше.
 

Надіслати
Поділитися на інших сайтах

Добрый день, не планируйте ли парсит из эхсел файла, нам нужно обновить остатки из эхсел файла, на сайте артикулы 6-ти значные, например прайсе артикул 100, а на сайте 000100 как таких товаров парсит/обновить? 

Надіслати
Поділитися на інших сайтах


3 минуты назад, danu сказал:

Добрый день, не планируйте ли парсит из эхсел файла, нам нужно обновить остатки из эхсел файла, на сайте артикулы 6-ти значные, например прайсе артикул 100, а на сайте 000100 как таких товаров парсит/обновить? 

задумаюсь об этом.
но это другая сфера с другой логикой.
Так что если и будет то не скоро. Если много идей которые нужно реализовать в текущем модуле.

Надіслати
Поділитися на інших сайтах

22 минуты назад, Rassol2 сказал:

задумаюсь об этом.
но это другая сфера с другой логикой.
Так что если и будет то не скоро. Если много идей которые нужно реализовать в текущем модуле.

подскажите пожалуйста модуль же обновляет и добавляет по Идентификатору, обновляет и добавляет товары после поиск замены или до поиск замены? если после подскажите пожалуйста какой нибудь выражении что бы убрал первые два или три значение например если 000100 то убрал 000, если 001000 то первый два 00, не проста ноля убрал а если первый нол идет то тогда убрал.

Надіслати
Поділитися на інших сайтах


Створіть аккаунт або увійдіть для коментування

Ви повинні бути користувачем, щоб залишити коментар

Створити обліковий запис

Зареєструйтеся для отримання облікового запису. Це просто!

Зареєструвати аккаунт

Вхід

Уже зареєстровані? Увійдіть тут.

Вхід зараз
×
×
  • Створити...

Important Information

На нашому сайті використовуються файли cookie і відбувається обробка деяких персональних даних користувачів, щоб поліпшити користувальницький інтерфейс. Щоб дізнатися для чого і які персональні дані ми обробляємо перейдіть за посиланням . Якщо Ви натиснете «Я даю згоду», це означає, що Ви розумієте і приймаєте всі умови, зазначені в цьому Повідомленні про конфіденційність.