- Регистрация
- 28.12.2018
- Сообщения
- 732
- Благодарностей
- 343
- Баллы
- 63
Основная сложность в сборе номеров телефонов состоит в том, что единого формата никто не придерживается, к тому же в каждой стране свои правила и номерные ёмкости.
Решается задача сбора телефонов с помощью регулярных выражений, которые извлекают из текста страницы всё, что похоже на номер телефона. Но после появляется проблемы, например, номера которые не возможны по правилам операторов.
Для решения этой проблемы Google разработал свою библиотеку libphonenumber.
В ZennoPoster используем порт данной библиотеки на C#.
Для каких целей используются:
Логика работы шаблона:
Для работы шаблона требуется библиотека PhoneNumbers.dll, скопируйте из папки ExternalAssemblies в аналогичную папку ZennoPoster (пример пути: C:\Program Files\ZennoLab\RU\ZennoPoster Standard\5.28.0.0\Progs\ExternalAssemblies)
Входные данные шаблона:
Результат:
На выходе получаем CSV файл, в следующем формате: разделитель ";", номера телефонов разделены между собой ",".
Столбцы (4): ссылка, главная страница, мобильные телефоны, стационарные телефоны.
Недостатки:
Добавить к данному парсеру, сбор других данных достаточно просто, т.к. это браузерная версия.
Решается задача сбора телефонов с помощью регулярных выражений, которые извлекают из текста страницы всё, что похоже на номер телефона. Но после появляется проблемы, например, номера которые не возможны по правилам операторов.
Для решения этой проблемы Google разработал свою библиотеку libphonenumber.
В ZennoPoster используем порт данной библиотеки на C#.
Для каких целей используются:
- Сообщения на телефоны и мессенджеры (WhatsApp, Viber, Telegramm)
- CRM системы (подробнее о клиенте)
- Базы для "холодных" звонков
Логика работы шаблона:
- Ищет страницы с контактами на сайте и переходит по ним
- Извлекает номера телефонов
- Проверяет на валидность
- Распределяет в две категории: мобильные и стационарные
Для работы шаблона требуется библиотека PhoneNumbers.dll, скопируйте из папки ExternalAssemblies в аналогичную папку ZennoPoster (пример пути: C:\Program Files\ZennoLab\RU\ZennoPoster Standard\5.28.0.0\Progs\ExternalAssemblies)
Входные данные шаблона:
- В файл urls_list_utf8.txt добавить список url для проверки. Кодировка - обязательно utf8.
- В общем коде прописаны двухзначный код страны "RU", если сбор будет под другую страну, прописать нужный код.
- Если нужно искать страницы на других языках, отличных от русского, необходимо добавить в javascript код нужные страницы для поиска.
Результат:
На выходе получаем CSV файл, в следующем формате: разделитель ";", номера телефонов разделены между собой ",".
Столбцы (4): ссылка, главная страница, мобильные телефоны, стационарные телефоны.
- Браузерная версия. Некоторые сайты автоматически подставляют номера телефонов или не показывают без javascript.
- Поиск ссылок на javascript. Было готовое решение
- Встроенный json. Его достаточно в данном проекте
- Дублирование кода. В данном случае для наглядности, если слить в кучу, разобраться будет гораздо сложнее.
Недостатки:
- В файле примере urls_list_utf8.txt последние 2 ссылки, сайты на парковке. Как результат, вместо ожидаемых, у нас телефоны регистратора. Возможное решение проблемы: черный список телефонов или проверка заголовков страницы.
- Если на странице будут данные похожие на телефон, они будут телефоном, например, артикулы товаров. К счастью, это редкость.
- Дубликаты url. Данные берутся построчно, на дубли не проверяются.
Добавить к данному парсеру, сбор других данных достаточно просто, т.к. это браузерная версия.
- Категория
- Парсинг
- Номер конкурса шаблонов
- Третий конкурс шаблонов
- Уровень сложности
- Средний
Вложения
-
2,3 МБ Просмотры: 1 529
Для запуска проектов требуется программа ZennoPoster или ZennoDroid.
Это основное приложение, предназначенное для выполнения автоматизированных шаблонов действий (ботов).
Подробнее...
Для того чтобы запустить шаблон, откройте нужную программу. Нажмите кнопку «Добавить», и выберите файл проекта, который хотите запустить.
Подробнее о том, где и как выполняется проект.