Почему у меня в конструкторе выражений регекс собирает ссылку на

smartwisard

Client
Joined
Jan 17, 2017
Messages
824
Reaction score
83
Points
28
изображение из юлы, а в Project Maker не собирает!?

В объявлении
Code:
 https://youla.ru/naberezhnye_chelny/remont-i-stroitelstvo/otoplenie-ventilyaciya/dymokhod-59c8c49ea380b61fd14e6732
ищу ссылку на изображение
Code:
https://cache3.youla.io/files/images/720_720_out/59/c8/59c8c497ec98551b8d6f4dd2.jpg


Почему у меня в конструкторе выражений регекс
Code:
(?<=\()https://cache.*?\.jpg(?=\))
собирает ссылку на изображение, а в Project Maker не собирает?

А вот по частям до /720_720_out/ и после /720_720_out/ эту ссылку я могу регексами поймать.
 
Last edited:

Jeronimo

Client
Joined
Jan 7, 2014
Messages
239
Reaction score
204
Points
43
Что-то ты не так делаешь. Вот как сделал я, только у меня изображение размером 780px выдаёт, но это не важно, так как регулярка вот такая должна быть:
Code:
https://cache3\.youla\.io/files/images/.*?\.jpg
Вот как в PM это выглядит:

upload_2019-2-17_21-52-5.png


Результат:
Code:
https://cache3.youla.io/files/images/780_780/59/c8/59c8c497ec98551b8d6f4dd2.jpg
 
  • Thank you
Reactions: smartwisard

Bablozavr

Client
Joined
Jan 26, 2018
Messages
309
Reaction score
164
Points
43

smartwisard

Client
Joined
Jan 17, 2017
Messages
824
Reaction score
83
Points
28
Вопрос на самом деле немного сложнее.
Составить Вашу регулярку по началу и концу искомого и добавить галочку самое короткое совпадение я умею.
Она берёт ссылку на изображение из <meta property="og:image" content="https:// cache3.youla.io/files/images/780_780/5a/5f/5a5fc34e5eaa9eb1fe17a0d5.jpg">

Баблозавр прав, что https://cache3 можно смело использовать — я не встречал других цифр.
Но произойдёт ошибка, если в объявлении встретится https://cache2 или https://cache4 или другое!

Сейчас опробовал Вашу регулярку на объявлении с 4 изображениями https:// youla.ru/kazan/uslugi/remont-stroitelstvo/montazhniki-dymokhodov-dymokhod-vientiliatsiia-ustanovka-5a5fc3ecbedcc5167b4b4a07 .
Положил их в список, но туда легло только одно изображение! Странно — должны лечь все четыре ссылки.
В коде они лежат подряд, изображений всего четыре, строки с изображениями здесь:
Code:
.dCpmjL{background-size:cover;cursor:pointer;position:relative;}.dCpmjL + .dCpmjL{margin-left:8px;}.dCpmjL:after{content:'';display:block;width:100%;height:100%;background:url(https://cache3.youla.io/files/images/720_720_out/5a/5f/5a5fc34e5eaa9eb1fe17a0d5.jpg) center;background-size:cover;}
.bzmNlX{background-size:cover;cursor:pointer;position:relative;}.bzmNlX + .bzmNlX{margin-left:8px;}.bzmNlX:after{content:'';display:block;width:100%;height:100%;background:url(https://cache3.youla.io/files/images/720_720_out/5a/5f/5a5fc3520fff8192cf1ea832.jpg) center;background-size:cover;}
.gdSCSc{background-size:cover;cursor:pointer;position:relative;}.gdSCSc + .gdSCSc{margin-left:8px;}.gdSCSc:after{content:'';display:block;width:100%;height:100%;background:url(https://cache3.youla.io/files/images/720_720_out/5b/3f/5b3f876fc15ae351901f3e25.jpg) center;background-size:cover;}
.fZTpDz{background-size:cover;cursor:pointer;position:relative;}.fZTpDz + .fZTpDz{margin-left:8px;}.fZTpDz:after{content:'';display:block;width:100%;height:100%;background:url(https://cache3.youla.io/files/images/720_720_out/5b/3f/5b3f87dfbedcc56d8d095cf5.jpg) center;background-size:cover;}
и здесь
Code:
.jxAslD{background-size:cover;position:relative;cursor:pointer;border-radius:4px;overflow:hidden;opacity:0.5;}.jxAslD + .jxAslD{margin-left:8px;}.jxAslD:after{content:'';display:block;width:100%;height:100%;background:url(https://cache3.youla.io/files/images/720_720_out/5a/5f/5a5fc34e5eaa9eb1fe17a0d5.jpg) center;background-size:cover;}.jxAslD:hover{opacity:0.5;}
.byXDgm{background-size:cover;position:relative;cursor:pointer;border-radius:4px;overflow:hidden;opacity:0.5;}.byXDgm + .byXDgm{margin-left:8px;}.byXDgm:after{content:'';display:block;width:100%;height:100%;background:url(https://cache3.youla.io/files/images/720_720_out/5b/3f/5b3f87dfbedcc56d8d095cf5.jpg) center;background-size:cover;}.byXDgm:hover{opacity:0.5;}
.gYpIfZ{background-size:cover;position:relative;cursor:pointer;border-radius:4px;overflow:hidden;}.gYpIfZ + .gYpIfZ{margin-left:8px;}.gYpIfZ:after{content:'';display:block;width:100%;height:100%;background:url(https://cache3.youla.io/files/images/720_720_out/5a/5f/5a5fc3520fff8192cf1ea832.jpg) center;background-size:cover;}.gYpIfZ:hover{opacity:0.5;}
.fUJFPg{background-size:cover;position:relative;cursor:pointer;border-radius:4px;overflow:hidden;}.fUJFPg + .fUJFPg{margin-left:8px;}.fUJFPg:after{content:'';display:block;width:100%;height:100%;background:url(https://cache3.youla.io/files/images/720_720_out/5b/3f/5b3f876fc15ae351901f3e25.jpg) center;background-size:cover;}.fUJFPg:hover{opacity:0.5;}
.fngqKZ{background-size:cover;position:relative;cursor:pointer;border-radius:4px;overflow:hidden;}.fngqKZ + .fngqKZ{margin-left:8px;}.fngqKZ:after{content:'';display:block;width:100%;height:100%;background:url(https://cache3.youla.io/files/images/720_720_out/5b/3f/5b3f87dfbedcc56d8d095cf5.jpg) center;background-size:cover;}.fngqKZ:hover{opacity:0.5;}
Я решил вообще опустить первую часть ссылки и сразу брать из браузера от 720_720 до .jpg , самое короткое совпадение.
Это позволит не захватывать в список аватарки, а то я их напарсил себе. Тошно, когда напарсишь себе чуток аватарок а ещё надо переделывать в шаблоне и другие мелочи ((
Get-запрос, кажется, вообще не получает изображения 720_720
 
Last edited:

Bablozavr

Client
Joined
Jan 26, 2018
Messages
309
Reaction score
164
Points
43
Странно, взял регулярку из первого поста :
Code:
(?<=\()https://cache.*?\.jpg(?=\))
Открыл страницу:
Code:
https://youla.ru/naberezhnye_chelny/remont-i-stroitelstvo/otoplenie-ventilyaciya/dymniki-na-dymokhod-58ff9b112756bab7ad60ab42
Использовал кубик обработки текста, парсить из {-Page.Source-} и сохранять все найденные значения в список.
У меня сохранило 4 картинки 720_720 и 1 картинку 80_80
Делал через ProjectMaker

В итоге у меня получилась такая регулярка:
Code:
(?<=url\()https://cache.*\.youla\.io/files/images/720_720_out.*?\.jpg(?=\))
или
(?<=url\()https://cache.*720_720_out.*?\.jpg(?=\))
Она забирает все картинки независимо от числа после cache и размерами 720_720
 
Last edited:

smartwisard

Client
Joined
Jan 17, 2017
Messages
824
Reaction score
83
Points
28
Кому регулярки любопытны и есть время, читайте https://zennolab.com/discussion/threads/reguljarnye-vyrazhenija-chto-ehto-takoe-i-s-chem-ix-edjat.23612/ .
Я пока буду использовать регулярку от 720_720 до .jpg
Когда споткнётся, обязательно буду пробовать ваши регулярки.
Наверное, прямо сейчас и споткнётся ))
 

Users Who Are Viewing This Thread (Total: 1, Members: 0, Guests: 1)