Помогите с регуляркой

Поддержка
  • @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

  • @servasw45 а не удобнее будет сначала достать все ссылки на картинки и все ссылки с "utm", а потом по ним переходить?
    К слову, можно ссылку на сайт, где в коде есть utm?

  • Не помню где мне попадались ссылки с utm и не могу сейчас найти по-быстрому. Мне такие ссылки как раз и не нужны. Их лучше всего отфильтровать как-то.

    Вот такую попалась в поиске:
    https://ilovemommy.com.ua/ru/brands.html?___store=ru

    XPATH> //a[contains(@href,'[[RANDOM_LINK_URL]]')] ее как то находит, а бас по этой ссылке не кликает.

  • @servasw45 почти все ссылки идут с классами или id или другими атрибутами. Если знать, какие конкретно ссылки нужны, то можно вытаскивать только их со страницы и потом их загружать.
    Причем все это можно быстренько делать в http клиенте.

    Я могу написать быстренько скрипт, но нужно больше конкретики, что именно вынимать со страницы... что потом с этим делать и т.д.

  • Задача очень простая,

    1. нужно взять ссылку на сайт из списка и открыть
    2. по-имитировать чтение страницы
      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})"
    

    И все ок должно быть

  • Так лучше, спасибо :)

  • 0 Votes
    4 Posts
    566 Views
  • Помогите с JS

    Поддержка
    0 Votes
    3 Posts
    593 Views
  • 0 Votes
    10 Posts
    890 Views
  • 0 Votes
    12 Posts
    2314 Views
  • Работа с БД

    Поддержка
    0 Votes
    7 Posts
    1776 Views