@UserTrue
Когда искал по форуму, часто встречал ответы этого пользователя. Если найдется минутка, поделитесь опытом. Пока выделил два возможных решения замены curl http. Может есть еще варианты? Какой вариант для вас лучше?
Помогите с регуляркой
-
@freeliman вот это ))
&символ амперсанда &
и автоматически распознаётся браузером как &
при желании можно использовать (но нужно ли?)encodeURI( [[URL]] )Если параметры language_id нужны, то я бы так забирал url (тогда не имеет значения, как меняется адрес)
(?<=href=").*?(?=")а с XPATH ещё проще
//@hrefесли параметры не нужны, то такой регуляркой
(?<=href=").*?edit -
Мне нужно на странице найти все ссылки которые есть на определенный сайт, затем выбрать одну случайным образом и кликнуть на нее.
Ссылки могут быть разные, на главную страницу или на разделы категорий или на статьи:
<a href="http://site1.com/"> <a href="http://site1.com/index.php?cat=c50809_posts23.html"> <a href="http://site1.com/posts123.html"> <a href="http://site1.com/category/posts273.html"> <a class="slider-link" href="https://site1.com/index.php?cat=c509_post.html" >Делаю через Проверить существование [href="{{url}}"]
Находяться только ссылки на главную http://site1.com/. Ссылки на категории и статьи не находятся. Как правильно написать регулярное выражение, чтобы отрезать все после http://site1.com/ и как дальше нужно правильно делать, писать регулярное выражение в действие Проверить существование или использовать промежуточную переменную? Или Проверить существование в моем случае не подходит вообще? Перепробовал кучу вариантов, но ничего не срабатывает.
-
@servasw45 В вашем случае проще через xpath, получайте все ссылки со страницы через xpath получить каждый xml
//a/@hrefПолученный список пройти через foreach, ставите if
[[FOREACH_DATA]].indexOf('http://site1.com') > -1в этом if действие Добавить Элемент (в список, который заранее создали).
После foreach используйте действие Случайный Элемент из списка, в который складывали нужные url. -
Пересмотрел много роликов, но все равно есть вопросы :(
Нахожу ссылку вот так:
>XPATH> //a[contains(@href,'[[RANDOM_LINK_URL]]')]Если попадается ссылка такого вида
<a href="http://www.site.com/12345/">link</a>то бас по ней кликает.
А если попадается ссылка такого вида
<a href="http://www.site.com/12345/" <img src="http://www.site.com/12345/123.jpg"></a>когда кликать надо по картинке,
или когда в ссылке присутствуют метка
<a href="http://www.site.com/12345/link.html?utm=1234">link</a>то бас не может по ней кликнуть.
Как првильно написать селектор,
>XPATH> //a[contains(@href,'[[RANDOM_LINK_URL]]')]чтобы кликало по ссылкам-картинкам и по ссылкам с utm и другими метками?
Вот скрипт на всякий случай
1_1537365470782_visit-random-click-4.3.4-url.txt 0_1537365470782_visit-random-click-4.3.4.xml -
Не помню где мне попадались ссылки с utm и не могу сейчас найти по-быстрому. Мне такие ссылки как раз и не нужны. Их лучше всего отфильтровать как-то.
Вот такую попалась в поиске:
https://ilovemommy.com.ua/ru/brands.html?___store=ruXPATH> //a[contains(@href,'[[RANDOM_LINK_URL]]')] ее как то находит, а бас по этой ссылке не кликает.
-
@servasw45 почти все ссылки идут с классами или id или другими атрибутами. Если знать, какие конкретно ссылки нужны, то можно вытаскивать только их со страницы и потом их загружать.
Причем все это можно быстренько делать в http клиенте.Я могу написать быстренько скрипт, но нужно больше конкретики, что именно вынимать со страницы... что потом с этим делать и т.д.
-
Задача очень простая,
- нужно взять ссылку на сайт из списка и открыть
- по-имитировать чтение страницы
3 выбрать любую ссылку на другую страницу этого же сайта, перейти на нее и повторить пункт 2
С пунктами 1 и 2 все понятно.
В пункте три нужно отфильтровать все ссылки на посторонние сайты, такие как соцсети, ссылки в тексте на чужие сайты, ссылки на видео и подобное. Нужно переходить несколько раз только по страницам просматриваемого сайта. Вот на этом фильтре я и забуксовал.
Выше приложил скрипт, который даже работает, но с частыми ошибками. Надо усовершенствовать или другую логику работы использовать. Подскажите, плз, в какую сторону копать
П.С.
В списке будут разные сайты, с разными дизайнами и разным кодом html и css, потому к классам и идентификаторам решил не привязываться, а использовал XPATH> //a[contains(@href,'[[RANDOM_LINK_URL]]')] -
@servasw45 0_1537397322071_demo1.xml придумал такой костыль. Надо только протестировать его на других сайтах...
-
@servasw45 said in Помогите с регуляркой:
Спасибо за подсказку. :)
ТестируюТам ошибочка только небольшая с кавычками. Измени регулярку на эту
"(?P<result>{{URL}}[a-z\/]{13,20})"И все ок должно быть