Парсинг 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)

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

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


Log in to reply
 

Looks like your connection to Bablosoft was lost, please wait while we try to reconnect.