HTML::TextExtractor::LangDetect - Wykrywanie języka strony
Przegląd scrapera

HTML::TextExtractor::LangDetect określa język strony, a także dokładność określenia w procentach. Obsługuje scrapowanie wielostronicowe i przechodzenie po wewnętrznych stronach witryny do określonej głębokości, co pozwala na przejście przez wszystkie strony witryny, zbierając linki wewnętrzne i zewnętrzne. 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 2000 zapytań na minutę – co daje 120 000 linków na godzinę.Zbierane dane
- Określa język strony
- Dokładność określenia w %
Możliwości
- Scrapowanie wielostronicowe (przechodzenie po stronach)
- Obsługuje kompresję gzip/deflate/brotli
- Wykrywanie i konwersja kodowania stron do UTF-8
- Omijanie ochrony CloudFlare
- Wybór silnika (HTTP lub Chrome)
- Określanie języka strony bez użycia zewnętrznych serwisów
- Dokładność określenia w %
Warianty wykorzystania
- Dobór domen z określonym językiem treści
Zapytania
Jako zapytania należy podać listę stron, na przykład:
http://a-parser.com/
http://yandex.ru/
http://google.com/
http://vk.com/
http://facebook.com/
http://youtube.com/
Warianty wyprowadzania 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 formie ustrukturyzowanej, np. CSV lub JSON
Wynik domyślny
Format wyniku:
$query: $lang\n
Przykład wyniku:
http://vk.com/: RUSSIAN
http://a-parser.com/: RUSSIAN
http://yandex.ru/: RUSSIAN
http://youtube.com/: ENGLISH
http://google.com/: ENGLISH
http://facebook.com/: ENGLISH
Możliwe ustawienia
| Nazwa parametru | Wartość domyślna | Opis |
|---|---|---|
| Good status | All | Wybór, która odpowiedź z serwera będzie uznana za sukces. Jeśli podczas scrapowania wystąpi inna odpowiedź z serwera, zapytanie zostanie powtórzone z innym proxy. |
| Good code RegEx | Możliwość wskazania wyrażenia regularnego do sprawdzania kodu odpowiedzi. | |
| Method | GET | Metoda zapytania. |
| POST body | Treść 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. | |
| Cookies | Możliwość wskazania plików cookies dla zapytania. | |
| User agent | Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1) | Nagłówek User-Agent przy zapytaniu o strony. |
| Additional headers | Możliwość wskazania dowolnych nagłówków zapytania z obsługą możliwości silnika szablonów i użyciem 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 | ☐ | Rozpoznawaj kodowanie na podstawie zawartości strony. |
| Emulate browser headers | ☐ | Emuluj nagłówki przeglądarki. |
| Max redirects count | 7 | Maksymalna liczba przekierowań, po których będzie przechodził scraper. |
| Max cookies count | 16 | Maksymalna liczba cookies do zapisania. |
| Bypass CloudFlare | ☑ | Automatyczne omijanie weryfikacji CloudFlare. |
| Follow common redirects | ☑ | Pozwala na wykonywanie przekierowań http <-> https i www.domain <-> domain w obrębie jednej domeny z pominięciem limitu Max redirects count. |
| Engine | HTTP (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 używać narzędzi do debugowania Chromium. |
| Chrome Log Proxy connections | ☑ | Jeśli opcja jest włączona, w logu będą wyświetlane informacje o połączeniach chrome. |
| Chrome Wait Until | networkidle2 | Określa, kiedy strona jest uważana 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 banują przy użyciu HTTP/1.1. |
| Bypass CloudFlare with Chrome(Experimental) | ☐ | Omijanie CF przez Chrome. |
| Bypass CloudFlare with Chrome Max Pages | Maks. liczba stron przy omijaniu CF przez Chrome. |