Przejdź do treści głównej

HTML::EmailExtractor - Scrapowanie adresów email ze stron internetowych

Przegląd scrapera​

Przegląd scraperaHTML::EmailExtractorHTML::EmailExtractor zbiera adresy e-mail z określonych stron. Obsługuje przechodzenie po wewnętrznych stronach witryny do określonej głębokości, co pozwala przejść przez wszystkie strony witryny, zbierając linki wewnętrzne i zewnętrzne. Scraper e-maili posiada wbudowane narzędzia do omijania ochrony CloudFlare a także możliwość wyboru Chrome jako silnika do scrapowania e-maili ze stron, na których dane są ładowane przez skrypty. Jest w stanie osiągnąć prędkość do 250 zapytań na minutę – co daje 15 000 linków na godzinę.

Przypadki użycia scrapera​

Scrapowanie e-maili z witryny z przechodzeniem w głąb stron do określonego limitu​

Scrapowanie e-maili z witryny z przechodzeniem w głąb stron do określonego limitu
  1. Dodaj opcję Parse to level, z listy wybierz wymaganą wartość (limit).
  2. W sekcji Queries (Zapytania) zaznacz opcję Unique queries.
  3. W sekcji Results (Wyniki) zaznacz opcję Unique string.
  4. Jako zapytanie podaj link do strony, z której chcesz scrapować e-maile.
Pobierz przykład

Jak zaimportować przykład do A-Parser

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

Scrapowanie e-maili z bazy witryn z przechodzeniem każdej witryny w głąb do określonego limitu​

Scrapowanie e-maili z bazy witryn z przechodzeniem każdej witryny w głąb do określonego limitu
  1. Dodaj opcję Parse to level, z listy wybierz wymaganą wartość (limit).
  2. W sekcji Queries (Zapytania) zaznacz opcję Unique queries.
  3. W sekcji Results (Wyniki) zaznacz opcję Unique string.
  4. Jako zapytanie podaj linki do stron, z których chcesz scrapować e-maile, lub w Queries from (Zapytania z) wybierz File i wgraj plik zapytań z bazą witryn.
Pobierz przykład

Jak zaimportować przykład do A-Parser

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

Scrapowanie e-maili z bazy linków​

Scrapowanie e-maili z bazy linków
  1. W sekcji Queries (Zapytania) zaznacz opcję Unique queries.
  2. W sekcji Results (Wyniki) zaznacz opcję Unique string.
  3. Jako zapytanie podaj linki, z których chcesz scrapować e-maile, lub w Queries from (Zapytania z) wybierz File i wgraj plik zapytań z bazą linków.
Pobierz przykład

Jak zaimportować przykład do A-Parser

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==

Gromadzone dane​

Przykład gromadzonych danych

  • Adresy e-mail
  • Całkowita liczba adresów na stronie
  • Tablica ze wszystkimi zebranymi stronami (używana przy włączonej opcji Use Pages)

Funkcje​

  • Wielostronicowe scrapowanie (przechodzenie po stronach)
  • Przechodzenie po wewnętrznych stronach witryny do określonej głębokości (opcja Parse to level) – pozwala przejść przez wszystkie strony witryny, zbierając linki wewnętrzne i zewnętrzne
  • Wykrywanie linków follow dla odnośników
  • Limit przechodzenia po stronach (opcja Follow links limit)
  • Możliwość traktowania subdomen jako wewnętrznych stron witryny
  • Obsługa kompresji gzip/deflate/brotli
  • Wykrywanie i konwersja kodowania stron na UTF-8
  • Omijanie zabezpieczeń CloudFlare
  • Wybór silnika (HTTP lub Chrome)
  • Obsługa pełnej funkcjonalności HTML::LinkExtractorHTML::LinkExtractor

Warianty użycia​

  • Scrapowanie adresów e-mail
  • Wyświetlanie liczby adresów e-mail

Zapytania​

Jako zapytania należy podawać linki do stron, na przykład:

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

Warianty wyświetlania wyników​

A-Parser obsługuje elastyczne formatowanie wyników dzięki wbudowanemu silnikowi szablonów Template Toolkit, co pozwala na wyprowadzanie wyników w dowolnej formie, a także w formacie strukturalnym, takim jak CSV lub JSON

Wyświetlanie liczby adresów e-mail​

Format wyniku:

$mailcount

Przykład wyniku:

4

Możliwe ustawienia​

Nazwa parametruWartość domyślnaOpis
Good statusAllWybór, która odpowiedź z serwera zostanie uznana za sukces. Jeśli podczas scrapowania wystąpi inna odpowiedź, zapytanie zostanie powtórzone z innym proxy
Good code RegExMożliwość podania wyrażenia regularnego do sprawdzenia kodu odpowiedzi
Ban Proxy Code RegExMożliwość czasowego blokowania proxy (Proxy ban time) na podstawie kodu odpowiedzi serwera
MethodGETMetoda zapytania
POST bodyTreść do przesłania na serwer przy użyciu metody POST. Obsługuje zmienne $query – URL zapytania, $query.orig – oryginalne zapytanie oraz $pagenum - numer strony przy użyciu opcji Use Pages.
CookiesMożliwość określenia plików cookie dla zapytania.
User agent_Automatycznie podstawiany jest user-agent aktualnej wersji Chrome_Nagłówek User-Agent podczas zapytania o strony
Additional headersMożliwość określenia dowolnych nagłówków zapytania z obsługą silnika szablonów i zmiennych z konstruktora zapytań
Read only headers☐Czytaj tylko nagłówki. W niektórych przypadkach pozwala oszczędzać transfer, jeśli nie ma potrzeby przetwarzania treści
Detect charset on content☐Rozpoznawanie kodowania na podstawie zawartości strony
Emulate browser headers☐Emulacja nagłówków przeglądarki
Max redirects count0Maksymalna liczba przekierowań, przez które przejdzie scraper
Follow common redirects☑Pozwala na przekierowania http <-> https oraz www.domain <-> domain w obrębie jednej domeny z pominięciem limitu Max redirects count
Max cookies count16Maksymalna liczba plików cookie do zapisania
EngineHTTP (Fast, JavaScript Disabled)Pozwala wybrać silnik HTTP (szybszy, bez JavaScript) lub Chrome (wolniejszy, JavaScript włączony)
Chrome Headless☐Jeśli opcja jest włączona, przeglądarka nie będzie wyświetlana
Chrome DevTools☑Pozwala na korzystanie z narzędzi programistycznych Chromium
Chrome Log Proxy connections☑Jeśli opcja jest włączona, w logu będą wyświetlane informacje o połączeniach chrome
Chrome Wait Untilnetworkidle2Określa, kiedy strona jest uznawana za załadowaną. Więcej o wartościach.
Use HTTP/2 transport☐Określa, czy używać HTTP/2 zamiast HTTP/1.1. Na przykład Google i Majestic natychmiast blokują przy użyciu HTTP/1.1.
Don't verify TLS certs☐Wyłączenie walidacji certyfikatów TLS
Randomize TLS Fingerprint☐Ta opcja pozwala omijać blokady stron na podstawie odcisku TLS
Bypass CloudFlare☑Automatyczne omijanie weryfikacji CloudFlare
Bypass CloudFlare with Chrome(Experimental)☐Omijanie CF przez Chrome
Bypass CloudFlare with Chrome Max Pages20Maks. liczba stron przy omijaniu CF przez Chrome
Subdomains are internal☐Czy traktować subdomeny jako linki wewnętrzne
Follow linksInternal onlyPo jakich linkach przechodzić
Follow links limit0Limit Follow links, stosowany do każdej unikalnej domeny
Skip comment blocks☐Czy pomijać bloki komentarzy
Search Cloudflare protected e-mails☑Czy scrapować e-maile chronione przez Cloudflare.
Skip non-HTML blocks☑Nie zbieraj adresów e-mail w tagach (script, style, comment itp.).
Skip meta tags☐Nie zbieraj adresów e-mail w meta tagach
Search URL encoded e-mails☐Zbieranie e-maili zakodowanych w URL