Парсинг regex как сделать правильно?

Поддержка
  • Суть такая...
    Имеем Им/форум/сайт не важно.
    Заходим на страницу категории чтоб собрать ссылки на товары/посты/темы
    Можно зайти сделать цикл по элементам - понятно но! это долго учитывая что есть пагинация на 500-1000 стр.
    А можно гет запросом получить код и регуляркой выдернуть все ссылки за 1 сек и пойти дальше по пагинации,а лучше многопотоком за пару мин собрать всю 1000 пагинации.
    Проблема в том что регулярка ложит все скажем 50 ссылок с страницы в переменную,а нужно как-то разложить их по 1-й в список или ресурс.
    Как это сделать правильно именно в виде регулярка,чтоб без циклов?
    Проект прилагаю
    0_1526430123906_bbb.xml

  • @avtopars said in Парсинг regex как сделать правильно?:

    экшен извлечь все данные возвращает список,
    я не с той секты, но в данном конкретном случае, я бы вместо регулярок использовал xPath из раздела http, я так понимаю селектр для ссылок //a
    прдон, это вернет элементы целиком //a/@href лучше.
    а ссылки могут быть относительными?

  • @ruzne
    Ну домен подставить к такой ссылке в итоге думаю проблемы не составит.
    xPath я не знаю,но судя по текущему примеру он вытащит все ссылки,тут это уместно но в остальны случаях все не нужны.
    Да Вы правы возвращает список0_1526434839667_Screenshot_2.png
    Следующее действие которое нужно сделать это закинуть эти ссылки в ресурс, я не нашел список->в ресурс разве циклом по 1 элементу брать с списка и писать в ресурс. Только смысл сего действа если можно было изначально так делать.А русурс нужен чтоб многопотоком после пройтись по всем ссылкам(как я понимаю список для этого не пригоден)

  • @avtopars

    я не нашел список->в ресурс разве циклом по 1 элементу брать с списка и писать в ресурс.

    Именно так, в режиме запуска это происходит мгновенно.

    Только смысл сего действа если можно было изначально так делать.

    Xpath выдаёт результат надёжнее регулярки и быстрее, да и потребляет меньше ресурсов (хоть я и люблю регулярки :D)

    А русурс нужен чтоб многопотоком после пройтись по всем ссылкам(как я понимаю список для этого не пригоден)

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