поиск и парсинг телефонных номеров внутри текста?

Тема в разделе "Решение различных задач по парсингу", создана пользователем xalius, 12 фев 2014.

  1. xalius

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

    Регистрация:
    9 окт 2013
    Сообщения:
    2
    есть сайт с которого требуется парсить телефонные номера

    номера разложены внутри текста по разному и выгледят по разному

    например +7 9261234567 или 007926 456 12 36

    вобщем как упростить и парсить?
     
  2. nikolas1612

    nikolas1612 Member Пользователи

    Регистрация:
    27 ноя 2011
    Сообщения:
    439
    пересмотреть текст.
    вычислить все варианты отображения номеров.
    составить регулярки для поиска-замены в основном коде.
    поиском-заменой для основного кода выделить все вхождения номеров спец-тегами (к примеру <0000>+7 9261234567</0000>).
    парсить текст повторяющимися границами по спец-тегам.
     
  3. Root

    Root Администратор Администратор

    Регистрация:
    10 мар 2010
    Сообщения:
    14.818
    Город:
    Барнаул
    Здравствуйте!

     
  4. GDie

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

    Регистрация:
    5 авг 2014
    Сообщения:
    14
    Как задать разделитель для телефонов?
     
  5. Root

    Root Администратор Администратор

    Регистрация:
    10 мар 2010
    Сообщения:
    14.818
    Город:
    Барнаул
    Пожалуйста
     
  6. timur777

    timur777 Member Пользователи

    Регистрация:
    24 дек 2019
    Сообщения:
    118
    Город:
    Москва
    Здравствуйте. Использую макрос [EXTRACTPHONES] результат вот такой! Почему?
     

    Вложения:

  7. Root

    Root Администратор Администратор

    Регистрация:
    10 мар 2010
    Сообщения:
    14.818
    Город:
    Барнаул
    Здравствуйте.

    Что не так с результатом?
     
  8. timur777

    timur777 Member Пользователи

    Регистрация:
    24 дек 2019
    Сообщения:
    118
    Город:
    Москва
    Здравствуйте. Использовании макроса в самой программе собирает разные номера а при парсинге в файле только один номер и одинаковый.
     
  9. Root

    Root Администратор Администратор

    Регистрация:
    10 мар 2010
    Сообщения:
    14.818
    Город:
    Барнаул
    Вот я открыл ваш файл CSV.

    В каждой ячейке множество номеров.

    2020-02-20_00-12-48.png

    Не понимаю проблемы.
     
  10. timur777

    timur777 Member Пользователи

    Регистрация:
    24 дек 2019
    Сообщения:
    118
    Город:
    Москва
    Да в самой программе все отлично проблем нет, но результат после парсинга при откритии файла excel то результат вот такой Ссылки недоступны для гостей и что интересно спарсил только одну страницу а не все 761 страниц!
     
  11. Root

    Root Администратор Администратор

    Регистрация:
    10 мар 2010
    Сообщения:
    14.818
    Город:
    Барнаул
    В каждой ячейке много строк с номерами. С файлом все в порядке.
     
  12. Root

    Root Администратор Администратор

    Регистрация:
    10 мар 2010
    Сообщения:
    14.818
    Город:
    Барнаул
    Номера в ячейках все есть, просто Excel, видимо, отображает только первую строку из каждой ячейки. Откройте CSV в блокноте и посмотрите, что там все номера есть. Я по Excel не подскажу, так как им не пользуюсь.

    И тот, номер, что вы видите в ячейках, парсится из кода WEB-документа. Вам нужно в макрос [EXTRACTPHONES] отправлять не [DOCSOURCE], который выводит весь код WEB-документа, а границу парсинга с областью кода, которая содержит номера.
     
  13. timur777

    timur777 Member Пользователи

    Регистрация:
    24 дек 2019
    Сообщения:
    118
    Город:
    Москва
    Хорошо, спасибо.
     
  14. timur777

    timur777 Member Пользователи

    Регистрация:
    24 дек 2019
    Сообщения:
    118
    Город:
    Москва
    Попытался опять пропарсить сайт, задал границы парсинга по вашей рекомендации но все понять не могу почему в шаблоне вывода в CSV собираются не все номера с сайта донора так как страниц 749 и по 50 номеров на каждой странице. Что делаю не так?
     

    Вложения:

  15. Root

    Root Администратор Администратор

    Регистрация:
    10 мар 2010
    Сообщения:
    14.818
    Город:
    Барнаул
    В таких случаях нужно смотреть лог парсинга (ctrl+l).

    Вас сайт временно забанил за частые запросы к нему.

    Как разбанит, попробуйте парсить в 1 поток или используйте список прокси.
     
  16. Mind

    Mind Well-Known Member Пользователи

    Регистрация:
    8 ноя 2016
    Сообщения:
    190
    Не так была задана граница парсинга (последний номер не брался).
    Поправил
     

    Вложения:

    timur777 нравится это.
  17. timur777

    timur777 Member Пользователи

    Регистрация:
    24 дек 2019
    Сообщения:
    118
    Город:
    Москва
    Спасибо за помощь!
     
  18. timur777

    timur777 Member Пользователи

    Регистрация:
    24 дек 2019
    Сообщения:
    118
    Город:
    Москва
    Сейчас запустил парсинг но почему то всего 1150 номеров за место 37.450 номеров если на сайте донора 749 страниц и на каждой странице по 50 номеров. Получается что все таки какие то номера не парсятся правильно?
     
  19. Root

    Root Администратор Администратор

    Регистрация:
    10 мар 2010
    Сообщения:
    14.818
    Город:
    Барнаул
    Еще раз повторить причину? Вам трудно помогать, вы даже не читаете некоторые сообщения.
     
  20. Mind

    Mind Well-Known Member Пользователи

    Регистрация:
    8 ноя 2016
    Сообщения:
    190
    Смотрите лог парсинга, в 99% там много чего можно понять и дать ответы на "почему". Как написал разработчик, пробуйте в 1 поток парсить.
     

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