Одновременное использование REPLACE и GETMORECONTENT

Тема в разделе "Решение различных задач по парсингу", создана пользователем rudess, 21 мар 2013.

  1. rudess

    rudess New Member Пользователи

    Регистрация:
    31 янв 2013
    Сообщения:
    3
    Здравствуйте!
    Обчитался форум, но ответа пока не нашел.

    Задача:
    Парсим страницы типа Ссылки недоступны для гостей находим на них ссылки с названием "Объявление о проведении торгов", с которых нужно вытащить емеил, содержащийся в тексте сообщения.
    То есть Находим на странице Ссылки недоступны для гостей ссылку "Ссылки недоступны для гостей" и уже с открывшейся страницы парсим емеил, находящийся в тексте в отдельную строку.

    часть данной задачи уже решил так:
    <GETMORECONTENT><URL="http://bankrot.fedresurs.ru<CD_GRAN_6!>"><START=""><STARTCOUNT="0"><END=""><ENDCOUNT="0"><PARAMS="htmtotxt,tocsv"></GETMORECONTENT>

    где <CD_GRAN_6!> - как раз ID=C02CC33EC1ECBF48524495D73FD602B0, спарсенный с Ссылки недоступны для гостей

    Для выдирания емеила использовал REPLACE(re:[a-zA-Z0-9._-]+@[a-zA-Z0-9]+.[a-zA-Z]+(.[a-zA-Z]+)?|#1##$##)

    Таким образом, получилась:
    [REPLACE(re:[a-zA-Z0-9._-]+@[a-zA-Z0-9]+.[a-zA-Z]+(.[a-zA-Z]+)?|#1##$##)]<GETMORECONTENT><URL="http://bankrot.fedresurs.ru<CD_GRAN_6!>"><START="#1##"><STARTCOUNT="0"><END="#2##"><ENDCOUNT="0"><PARAMS="htmtotxt,tocsv"></GETMORECONTENT>[/REPLACE]


    Однако, данная конструкция не работает, контент не парсится.
    думаю, что проблема может быть в порядке выполнения функций (макросов), так как при тестах получались следующие результаты:

    1. Если убрать границы парсинга внутри GETMORECONTENT:
    [REPLACE(re:[a-zA-Z0-9._-]+@[a-zA-Z0-9]+.[a-zA-Z]+(.[a-zA-Z]+)?|#1##$##)]<GETMORECONTENT><URL="http://bankrot.fedresurs.ru<CD_GRAN_6!>"><START=""><STARTCOUNT="0"><END=""><ENDCOUNT="0"><PARAMS="htmtotxt,tocsv"></GETMORECONTENT>[/REPLACE]

    то получаем на выходе:
    "..........ОГРН 1055901163504, #1##pauk.perm@mail.ru#2##, тел. (342)229-04-79) сообщает........."

    2. Если задать границы парсинга внутри GETMORECONTENT:
    [REPLACE(re:[a-zA-Z0-9._-]+@[a-zA-Z0-9]+.[a-zA-Z]+(.[a-zA-Z]+)?|#1##$##)]<GETMORECONTENT><URL="http://bankrot.fedresurs.ru<CD_GRAN_6!>"><START="#1##"><STARTCOUNT="0"><END="#2##"><ENDCOUNT="0"><PARAMS="htmtotxt,tocsv"></GETMORECONTENT>[/REPLACE]

    то ничего не парсится

    Помогите разобраться!
    Может быть есть вариант решения задачи попроще?
     

    Вложения:

    • 1.cdp
      Размер файла:
      26,9 КБ
      Просмотров:
      0
  2. kagorec

    kagorec Администратор Команда форума Администратор

    Регистрация:
    3 янв 2011
    Сообщения:
    4.442
    Адрес:
    Latvia
    знакомая регулярка и уже неактуальная благодяра обновлению программы.
    буквально Ссылки недоступны для гостей где добавлен макрос на выпарсивание майлов.
    все гораздо проще теперь - вытяните хоть всю страницу но получаемое обнимите макросом EXTRACTMAILS
     
    Последнее редактирование: 21 мар 2013

Поделиться этой страницей