Парсинг данных с меняющимися полями

Тема в разделе "Решение различных задач по парсингу", создана пользователем rotvellerr, 17 окт 2017.

Метки:
  1. rotvellerr

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

    Регистрация:
    27 окт 2015
    Сообщения:
    58
    Поставил себе задачу спарсить телефоны с необходимой категории на олх.
    Телефоны выводятся
    а) Если телефон один, то
    Код:
    <strong class="fnormal xx-large">ххх ххх хх хх</strong>
    
    б) Если их больше одного, то
    Код:
    <strong class="fnormal xx-large"><span class="block">‎ххх ххх хх хх</span> <span class="block">‎ххх ххх хх хх</span> </strong>
    где ххх ххх хх хх - это и есть телефон.
    Как их правильно спарсить, разместив каждый номер в отдельной ячейке и выделить под номера фиксированное количество этих самых ячеек (4 шт.)?
     
  2. kagorec

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

    Регистрация:
    3 янв 2011
    Сообщения:
    4.431
    Адрес:
    Latvia
    EXTRACTPHONES макросом весь блок обработайте и получите чистенькие телефоны.
     
    napserious и xLime нравится это.
  3. xLime

    xLime Well-Known Member Супер Модератор Модератор

    Регистрация:
    4 сен 2017
    Сообщения:
    401
    Добрый день.
    Код:
    Граница 1
    <strong class="fnormal xx-large"><span class="block">
    </span>
    
    Граница 2
    <strong class="fnormal xx-large">
    </strong>
    
    Шаблон вывода
    [IFNIL]Граница 1[ELSE]Граница 2[/IFNIL]
    
     
  4. rotvellerr

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

    Регистрация:
    27 окт 2015
    Сообщения:
    58
    EXTRACTPHONES пробовал, но он выводит все циферки в один ряд в одной ячейки без разбора.
     
  5. rotvellerr

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

    Регистрация:
    27 окт 2015
    Сообщения:
    58
    Ваш вариант сегодня попробую
     
  6. kagorec

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

    Регистрация:
    3 янв 2011
    Сообщения:
    4.431
    Адрес:
    Latvia
    В справке пишется что обработанные телефоны идут через переход строки, вот пример как переход строки меняем разделитель на запятую
    Код:
    [REPLACE({br}|, )][EXTRACTPHONES][LENGTH]10-10[/LENGTH][EXCEPTHTMLANDSCRIPTS][ALLOW][/ALLOW][/EXTRACTPHONES][/REPLACE]
     
  7. rotvellerr

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

    Регистрация:
    27 окт 2015
    Сообщения:
    58
    В справке написано, что можно также брать номера, которые начинаются на определенные цифры, заключив их в [ALLOW][/ALLOW]. Как бы я не подставлял коды операторов, почему то эти номера не берутся...
     
  8. rotvellerr

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

    Регистрация:
    27 окт 2015
    Сообщения:
    58
    Что-то я с этим ОЛХ никак не подружусь...(((
    Вроде как все настроил, по предосмотру подгружается....
    Загрузил пару ссылок для тестирования...
    И в результатах налачи проскакивать пустые поля с телефонами там, где были на просмотре...
    Проверяю еще раз границы, все норм, все видит...
    Захожу через обычный браузер, а тут телефон выводится так:
    Код:
    <strong class ="xx-large">ххх ххх хх хх</strong>
    Думал что в парсер подгружается мобверсия сайта, так нет, обычная...
    Что я не так делаю???
     

    Вложения:

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

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

    Регистрация:
    3 янв 2011
    Сообщения:
    4.431
    Адрес:
    Latvia
    Изначально макрос не нуждается в донастройках, собирает из html кода в телефоны если они там есть.

    Ссылки которые указали такие и открывваются
    Код:
    https://www.olx.ua/obyavlenie/prodam-avtomobil-IDuZ1HM.html - полная версия
    https://www.olx.ua/print/prodam-avtomobil-IDuZ1HM.html - /print/ печатная версия
    https://www.olx.ua/i2/obyavlenie/prodam-avtomobil-IDuZ1HM.html - /i2/ мобильная версия
    и т.д. наверняка есть еще варианты
     
    Последнее редактирование: 19 окт 2017
  10. rotvellerr

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

    Регистрация:
    27 окт 2015
    Сообщения:
    58
    Да нет же, в программе ссылки вот такие
    Код:
    https://www.olx.ua/obyavlenie/prodam-citroen-picasso-c4-IDiEX9o.html
    https://www.olx.ua/obyavlenie/citroen-jumper-IDufMV6.html
    https://www.olx.ua/obyavlenie/prodam-avto-citroen-berlingo-passazhir-IDqSKo6.html
    https://www.olx.ua/obyavlenie/citroen-jumper-2-5tdi-IDtwE6u.html
    https://www.olx.ua/obyavlenie/prodam-avtomobil-IDuZ1HM.html
    https://www.olx.ua/obyavlenie/citroen-c4-grand-picasso-IDuYTyE.html
    https://www.olx.ua/obyavlenie/prodam-sitroen-dzhamper-3-citroen-jumper-IDuYzLk.html
    https://www.olx.ua/obyavlenie/prodam-dacia-logan-dachiya-logan-2008g-v-obmen-IDarRXh.html
    https://www.olx.ua/obyavlenie/dacia-logan-2008-IDuNmoK.html
    https://www.olx.ua/obyavlenie/dacia-logan-1-4-IDwqSY4.html
    https://www.olx.ua/obyavlenie/dacia-logan-2-2015-IDwqWLA.html
    тоисть никакмх предпосылок на мобильную версию или печатную
     
  11. kagorec

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

    Регистрация:
    3 янв 2011
    Сообщения:
    4.431
    Адрес:
    Latvia
    Сами себе противоречите, в предидущем посте про полную версию писали, но хотелось мобильную.
    В проекте ссылки на полную версию.
    ---
    Вся тема содержит банальные вопросы, ответы которых можно было почерпнуть в Ссылки недоступны для гостейпо программе.
     
  12. rotvellerr

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

    Регистрация:
    27 окт 2015
    Сообщения:
    58
    Вы меня не правильно поняли...
    Мне не нужны ссылки на мобильные версии...так же как и не нужно, чтобы при парсинге открывались мобильные версии сайта.
    Но, они почему-то открываются, притом что ссылки указаны для полной версии.
     
  13. rotvellerr

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

    Регистрация:
    27 окт 2015
    Сообщения:
    58
    Уважаемый, @kagorec, справку просматриваю и читаю, точно так же как и просматриваю видео.
    Но программа настолько обширно-функциональная, что все сразу можно и не выучить.
    Бывают также, вроде как простые (банальные) вопросы, но ответы на них ищутся долго.
     
  14. kagorec

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

    Регистрация:
    3 янв 2011
    Сообщения:
    4.431
    Адрес:
    Latvia
    Натворили делов в настройке)) конечно не будет работать в таком случае.
    Убрал ненужную обрезку символов в доп настройке границы.
    Useragent в ctrl+h и в настройке wbapp добавил.
    И т.д.
     

    Вложения:

  15. rotvellerr

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

    Регистрация:
    27 окт 2015
    Сообщения:
    58
    Сам себя запутал...))))
     
  16. rotvellerr

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

    Регистрация:
    27 окт 2015
    Сообщения:
    58
    @kagorec, загрузил ваш проект, ничего в настройках не менял, кроме как в шаблоне вывод переставил местами.
    Подгрузил ссылки и запустил парсинг... Как видим, на первом же потоке пропускает телефон
    upload_2017-10-19_15-7-43.png
    upload_2017-10-19_15-11-50.png
     

    Вложения:

  17. rotvellerr

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

    Регистрация:
    27 окт 2015
    Сообщения:
    58
    Толи у меня что-то с программой, толи руки кривые...)))
     
  18. kagorec

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

    Регистрация:
    3 янв 2011
    Сообщения:
    4.431
    Адрес:
    Latvia
    Предоставил выше рабочий проект, повторяющиеся граница 1 хорошо справляется. Осталось вывести в шаблон вывода.
     
  19. rotvellerr

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

    Регистрация:
    27 окт 2015
    Сообщения:
    58
    Уважаемый @kagorec, в том проекте, который вы подкрепили выше (olx_ua___fix.cdp), посмотрите, пожалуйста, 11 ссылка выводит телефон?
    Спасибо!
     
  20. rotvellerr

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

    Регистрация:
    27 окт 2015
    Сообщения:
    58
    Вроде как разобрался...
    Я в вашем проекте заключил повторяющиеся граница 1 в EXTRACTPHONES и оно все сломало.
    Большущее Вам спасибо за розжовувание и помощь.

    Учимся дальше...
     
    kagorec нравится это.

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