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

HTML::TextExtractor::LangDetect - Определение языка страницы

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

Обзор парсераHTML::TextExtractor::LangDetectHTML::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 statusAllВыбор какой ответ с сервера будет считается успешным. Если при парсинге будет другой ответ от сервера, то запрос будет повторен с другим прокси.
Good code RegExВозможность указать регулярное выражения для проверки кода ответа.
MethodGETМетод запроса.
POST bodyКонтент для передачи на сервер при использовании метода POST. Поддерживает переменные $query – URL запроса, $query.orig – исходный запрос и $pagenum - номер страницы при использовании опции Use Pages.
CookiesВозможность указать cookies для запроса.
User agentMozilla/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 count7Максимальное кол-во редиректов, по которым будет переходить парсер.
Max cookies count16Максимальное число cookies для сохранения.
Bypass CloudFlareАвтоматический обход проверки CloudFlare.
Follow common redirectsПозволяет делать редиректы http <-> https и www.domain <-> domain в пределах одного домена в обход лимита Max redirects count.
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.
Bypass CloudFlare with Chrome(Experimental)Обход CF через Chrome.
Bypass CloudFlare with Chrome Max PagesМакс. кол-во страниц при обходе CF через Chrome.