Перейти к основному содержимому

HTML::EmailExtractor - Парсинг email адресов со страниц сайтов

Обзор парсера​

Обзор парсераHTML::EmailExtractorHTML::EmailExtractor собирает адреса электронной почты с указанных страниц. Поддерживает переход по внутренним страницам сайта до указанной глубины, что позволяет пройтись по всем страницам сайта, собирая внутренние и внешние ссылки. Email парсер имеет встроенные средства обхода защиты CloudFlare и также возможность выбора Chrome в качестве движка для парсинга почт со страниц, данные на которых подгружаются скриптами. Способен развивать скорость до 250 запросов в минуту – это 15 000 ссылок за час.

Кейсы по применению парсера​

Парсинг почт с сайта с прохождением страниц вглубь до указанного лимита​

Парсинг почт с сайта с прохождением страниц вглубь до указанного лимита
  1. Добавить опцию Парсить до уровня, в списке выбрать необходимое значение (лимит).
  2. В разделе Запросы поставить галочку на опцию Уникальные запросы.
  3. В разделе Результаты поставить галочку на опцию Уник по строке.
  4. В качестве запроса указать ссылку на сайт, с которого требуется спарсить почты.
Скачать пример

Как импортировать пример в А-Парсер

eJxtU01z2jAQ/S8aDu0MY5pDL74RJkzTIXGakBPDQYPXREWWVEmGpB7+e98Kx4Ym
N+3u2/f2S62IMuzCg6dAMYh81QqX3iIXJVWy0VGMhZM+kOfwSvxY3i3y/KaWSt+8
Ri830XpAenAr4psjpFsXlTUBMVXCTBwL2pOGZy91A8zVcb0eC+ghM8ytryXrjtxV
1hXRB5/knpYWwUppGtxzWPeyZrlRKSNxNKsS0ZevWXxlBlmWiiuR+qTAbQyqz0b9
4VJEiF6ZLfAwvaIw97aGO1IiYefbe4UrMUq2AE2T8n+dckQefUNjEVDtHAOisg9U
UgdEVCQvMbGiG07eCmumWqfBDLBEf90oXWLs0wpJt13i55DiA8ex7/Bcak/+4FFD
z5Ks6+JuyCrtwm7RuLFoW6taRdhhZhvDu/kG547I9WO7Z1htPfUyHXOnjstyZPgA
hq1N3eC6aONiM5fOjTWV2hZowKuS3pGNWeJ8CzOztdPEfZlGa2wl0ONwIdPQrYGN
ocD/k2dJ4uLwo7U6/Hw6leq8wgV+5wJrTPJctaPcSK2fHxfnETFcFIyXGF3IJ5PD
4ZDt/taBl5r5ZiI4N9LW4qjQ2XHd/7n+Z7af/7y8PWJpv8PDCc4dMhg+jCpgI/zL
/gFm02Dr

Парсинг почт по базе сайтов с прохождением каждого сайта на глубину до указанного лимита​

Парсинг почт по базе сайтов с прохождением каждого сайта на глубину до указанного лимита
  1. Добавить опцию Парсить до уровня, в списке выбрать необходимое значение (лимит).
  2. В разделе Запросы поставить галочку на опцию Уникальные запросы.
  3. В разделе Результаты поставить галочку на опцию Уник по строке.
  4. В качестве запроса указать ссылки на сайты, с которых требуется спарсить почты, или в Запросы из указать Файл и загрузить файл запросов с базой сайтов.
Скачать пример

Как импортировать пример в А-Парсер

eJxtU01z2jAQ/S8aDu0MY5pDL74RJkzTIXGakBPDQYPXREWWVEmGpB7+e98Kx4Ym
N+3u2/f2S62IMuzCg6dAMYh81QqX3iIXJVWy0VGMhZM+kOfwSvxY3i3y/KaWSt+8
Ri830XpAenAr4psjpFsXlTUBMVXCTBwL2pOGZy91A8zVcb0eC+ghM8ytryXrjtxV
1hXRB5/knpYWwUppGtxzWPeyZrlRKSNxNKsS0ZevWXxlBlmWiiuR+qTAbQyqz0b9
4VJEiF6ZLfAwvaIw97aGO1IiYefbe4UrMUq2AE2T8n+dckQefUNjEVDtHAOisg9U
UgdEVCQvMbGiG07eCmumWqfBDLBEf90oXWLs0wpJt13i55DiA8ex7/Bcak/+4FFD
z5Ks6+JuyCrtwm7RuLFoW6taRdhhZhvDu/kG547I9WO7Z1htPfUyHXOnjstyZPgA
hq1N3eC6aONiM5fOjTWV2hZowKuS3pGNWeJ8CzOztdPEfZlGa2wl0ONwIdPQrYGN
ocD/k2dJ4uLwo7U6/Hw6leq8wgV+5wJrTPJctaPcSK2fHxfnETFcFIyXGF3IJ5PD
4ZDt/taBl5r5ZiI4N9LW4qjQ2XHd/7n+Z7af/7y8PWJpv8PDCc4dMhg+jCpgI/zL
/gFm02Dr

Парсинг почт по базе ссылок​

Парсинг почт по базе ссылок
  1. В разделе Запросы поставить галочку на опцию Уникальные запросы.
  2. В разделе Результаты поставить галочку на опцию Уник по строке.
  3. В качестве запроса указать ссылки, с которых требуется спарсить почты, или в Запросы из указать Файл и загрузить файл запросов с базой ссылок.
Скачать пример

Как импортировать пример в А-Парсер

eJxtU01z0zAQ/S+aHmAmOPTAxbc00wwwaV3a9BRyEPE6COuLXSkpePLfWTmOHZfe
tG/fvv1UI4Kkmh4QCAKJfN0I375FLkqoZNRBTISXSIDJvRafV3fLPL81Uunbl4By
Gxwy5UzebCaCBfhJC4dGJqErf511qr3zSe5h5dhZKQ0DvGDrXhpIUaUMkLxZ1Qq9
e5+Fl6Qgy1IF5azUpwypriHrs1W/Y4qngMrumM8mKqAFOsNwgFYkgX/OFa7FVWsL
lolt/LdTjMgDRpgI4moX3DGUvaOSmtijAqDkERQ+lcR4I5ydab2EPeiB1srfRKVL
nuOs4qAvXeDblOI/jWPf4WWqPeABuYZepbVuirshqnRLt+PGreO2tTIqsE1zF23a
zUcGawDfj+0+0YxD6NN0yl12PhUPtmTmsLWZH6BRG6PNjMGts5XaFdwAqhLOzGhX
fI+FnTvjNaS+bNSat0LwOFzIjLo1JGMo8HXwvE0xuuTgnKavT6dSPSq+wE+pQMOT
vMzaSW6l1s+Py0uPGC6KjZ8heMqn08PhkNV/DaWlZhin3+3Z8wMl4Bjy6Mq4DVuw
4bXLOKpZwoxRqSv5IUBNY5hMpqkVEKnUADvHN8yDPG76P9v/7Obtn5s3R76RX/Rw
oqeBJjJjvBniAxD59fEfH7B6cg==

Собираемые данные​

Пример собираемых данных

  • Адреса электронной почты
  • Общее кол-во адресов на странице
  • Массив со всеми собранными страницами (используется при работе опции Use Pages)

Возможности​

  • Многостраничный парсинг (переход по страницам)
  • Переход по внутренним страницам сайта до указанной глубины (опция Parse to level) – позволяет пройтись по всем страницам сайта, собирая внутренние и внешние ссылки
  • Определение follow links для ссылок
  • Лимит переходов по страницам (опция Follow links limit)
  • Возможность указать считать сабдомены как внутренние страницы сайта
  • Поддерживает сжатия gzip/deflate/brotli
  • Определение и преобразование кодировок сайтов в UTF-8
  • Обход защиты CloudFlare
  • Выбор движка (HTTP или Chrome)
  • Поддержка всего функционала HTML::LinkExtractorHTML::LinkExtractor

Варианты использования​

  • Парсинг email адресов
  • Вывод кол-ва e-mail адресов

Запросы​

В качестве запросов необходимо указывать ссылки на страницы, например:

https://a-parser.com/pages/support/

Варианты вывода результатов​

A-Parser поддерживает гибкое форматирование результатов благодаря встроенному шаблонизатору Template Toolkit, что позволяет ему выводить результаты в произвольной форме, а также в структуированной, например CSV или JSON

Вывод кол-ва email адресов​

Формат результата:

$mailcount

Пример результата:

4

Возможные настройки​

Название параметраЗначение по умолчаниюОписание
Good statusAllВыбор какой ответ с сервера будет считается успешным. Если при парсинге будет другой ответ от сервера, то запрос будет повторен с другим прокси
Good code RegExВозможность указать регулярное выражения для проверки кода ответа
Ban Proxy Code RegExВозможность банить прокси на время (Proxy ban time) на основе кода ответа сервера
MethodGETМетод запроса
POST bodyКонтент для передачи на сервер при использовании метода POST. Поддерживает переменные $query – URL запроса, $query.orig – исходный запрос и $pagenum - номер страницы при использовании опции Use Pages.
CookiesВозможность указать cookies для запроса.
User agent_Автоматически подставляется user-agent актуальной версии Chrome_Заголовок User-Agent при запросе страниц
Additional headersВозможность указать произвольные заголовки запроса с поддержкой возможностей шаблонизатора и использованием переменных из конструктора запросов
Read only headers☐Читать только заголовки. В некоторых случаях позволяет экономить трафик, если нет необходимости обрабатывать контент
Detect charset on content☐Распознавать кодировку на основе содержимого страницы
Emulate browser headers☐Эмулировать заголовки браузера
Max redirects count0Максимальное кол-во редиректов, по которым будет переходить парсер
Follow common redirects☑Позволяет делать редиректы http <-> https и www.domain <-> domain в пределах одного домена в обход лимита Max redirects count
Max cookies count16Максимальное число cookies для сохранения
EngineHTTP (Fast, JavaScript Disabled)Позволяет выбрать движок HTTP (быстрее, без JavaScript) или Chrome (медленнее, JavaScript включен)
Chrome Headless☐Если опция включена, браузер не будет отображаться
Chrome DevTools☑Позволяет использовать инструменты для отладки Chromium
Chrome Log Proxy connections☑Если опция включена, в лог будет выводиться информация по подключениям chrome
Chrome Wait Untilnetworkidle2Определяет, когда страница считается загруженной. Подробнее о значениях.
Use HTTP/2 transport☐Определяет, использовать ли HTTP/2 вместо HTTP/1.1. Например, Google и Majestic сразу банят, если использовать HTTP/1.1.
Don't verify TLS certs☐Отключение валидации TLS сертификатов
Randomize TLS Fingerprint☐Данная опция позволяет обходить бан сайтов по TLS отпечатку
Bypass CloudFlare☑Автоматический обход проверки CloudFlare
Bypass CloudFlare with Chrome(Experimental)☐Обход CF через Chrome
Bypass CloudFlare with Chrome Max Pages20Макс. кол-во страниц при обходе CF через Chrome
Subdomains are internal☐Считать ли поддомены как внутренние ссылки
Follow linksInternal onlyПо каким ссылкам переходить
Follow links limit0Лимит Follow links, применяется к каждому уникальному домену
Skip comment blocks☐Пропускать ли блоки комментариев
Search Cloudflare protected e-mails☑Парсить ли Cloudflare protected e-mails.
Skip non-HTML blocks☑Не собирать почтовые адреса в тегах (script, style, comment и т.д.).
Skip meta tags☐Не собирать почтовые адреса в meta тегах
Search URL encoded e-mails☐Сбор URL encoded почт