HTML::TextExtractor::LangDetect - Определение языка страницы
Обзор парсера
HTML::TextExtractor::LangDetect определяет язык сайта, а также точность определения в процентах. Поддерживает многостраничный парсинг и переход по внутренним страницам сайта до указанной глубины, что позволяет пройтись по всем страницам сайта, собирая внутренние и внешние ссылки. Имеет встроенные средства обхода защиты CloudFlare и также возможность выбора Chrome в качестве движка для парсинга почт со страниц, данные на которых подгружаются скриптами. Способен развивать скорость до 2000 запросов в минуту – это 120 000 ссылок за час.Собираемые данные
- Определяет язык сайта
- Точность определения в %
Возможности
- Многостраничный парсинг (переход по страницам)
- Поддерживает сжатия gzip/deflate/brotli
- Определение и преобразование кодировок сайтов в UTF-8
- Обход защиты CloudFlare
- Выбор движка (HTTP или Chrome)
- Определение языка сайта без использования сторонних сервисов
- Точность определения в %
Варианты использования
- Подбор доменов с определенным языком контента
Запросы
В качестве запросов необходимо указывать список сайтов, например:
http://a-parser.com/
http://yandex.ru/
http://google.com/
http://vk.com/
http://facebook.com/
http://youtube.com/
Варианты вывода результатов
A-Parser поддерживает гибкое форматирование результатов благодаря встроенному шаблонизатору Template Toolkit, что позволяет ему выводить результаты в произвольной форме, а также в структуированной, например CSV или JSON
Вывод по умолчанию
Формат результата:
$query: $lang\n
Пример результата:
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
Возможные настройки
примечание
Название параметра | Значение по умолчанию | Описание |
---|---|---|
Good status | All | Выбор какой ответ с сервера будет считается успешным. Если при парсинге будет другой ответ от сервера, то запрос будет повторен с другим прокси. |
Good code RegEx | Возможность указать регулярное выражения для проверки кода ответа. | |
Method | GET | Метод запроса. |
POST body | Контент для передачи на сервер при использовании метода POST. Поддерживает переменные $query – URL запроса, $query.orig – исходный запрос и $pagenum - номер страницы при использовании опции Use Pages. | |
Cookies | Возможность указать cookies для запроса. | |
User agent | Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1) | Заголовок User-Agent при запросе страниц. |
Additional headers | Возможность указать произвольные заголовки запроса с поддержкой возможностей шаблонизатора и использованием переменных из конструктора запросов. | |
Read only headers | ☐ | Читать только заголовки. В некоторых случаях позволяет экономить трафик, если нет необходимости обрабатывать контент. |
Detect charset on content | ☐ | Распознавать кодировку на основе содержимого страницы. |
Emulate browser headers | ☐ | Эмулировать заголовки браузера. |
Max redirects count | 7 | Максимальное кол-во редиректов, по которым будет переходить парсер. |
Max cookies count | 16 | Максимальное число cookies для сохранения. |
Bypass CloudFlare | ☑ | Автоматический обход проверки CloudFlare. |
Follow common redirects | ☑ | Позволяет делать редиректы http <-> https и www.domain <-> domain в пределах одного домена в обход лимита Max redirects count. |
Engine | HTTP (Fast, JavaScript Disabled) | Позволяет выбрать движок HTTP (быстрее, без JavaScript) или Chrome (медленнее, JavaScript включен). |
Chrome Headless | ☐ | Если опция включена, браузер не будет отображаться. |
Chrome DevTools | ☑ | Позволяет использовать инструменты для отладки Chromium. |
Chrome Log Proxy connections | ☑ | Если опция включена, в лог будет выводиться информация по подключениям chrome. |
Chrome Wait Until | networkidle2 | Определяет, когда страница считается загруженной. Подробнее о значениях. |
Use HTTP/2 transport | ☐ | Определяет, использовать ли HTTP/2 вместо HTTP/1.1. Например, Google и Majestic сразу банят, если использовать HTTP/1.1. |
Bypass CloudFlare with Chrome(Experimental) | ☐ | Обход CF через Chrome. |
Bypass CloudFlare with Chrome Max Pages | Макс. кол-во страниц при обходе CF через Chrome. |