JS::TitleParser

Парсер JS::TitleParser 2.0.0

Доступно владельцам лицензии
  • Автор темы Автор темы Support
  • Дата начала Дата начала

Support

Administrator
Команда форума
A-Parser Enterprise
Пользователь Support разместил новый ресурс:

JS::TitleParser - Парсинг HTML тега title на произвольной странице

  • Данный парсер - это пример работы с JS-парсерами
  • В конструкторе задаются основные параметры парсера: собираемые результаты, формат результатов, успешный код HTTP ответа, и ограничение по размеру загружаемой страницы
  • В функции парсинга используются следующие возможности:
    • Логирование процесса работы
    • Получение данных по HTTP протоколу, указывается метод, url(запрос), дополнительно указана проверка контента и автоматическое определение кодировки страницы. Работа с...

Узнать больше об этом ресурсе...
 
umfoh.png

Результат:
Код:
https://a-parser.com/: A-Parser - парсер для профессионалов SEO

Код парсера
Код:
class Parser {
    constructor() {
        this.defaultConf = {
            results: {
                flat: [
                    ['title', 'HTML title'],
                ]
            },
            results_format: '$query: $title\\n',
            parsecodes: {
                200: 1,
            },
            max_size: 200 * 1024,
        };
    }

    *parse(set, results) {
        this.logger
            && this.logger.put("Start scraping query: " + set.query);

        let response = yield this.request('GET', set.query, {}, {
            check_content: ['<\/html>'],
            decode: 'auto-html',
        });

        if(response.success) {
            let matches = response.data.match(/<title>(.*?)<\/title>/i);
            if(matches)
                results.title = matches[1];
        }

        results.success = response.success;

        return results;
    }
}
  • В конструкторе задаются основные параметры парсера: собираемые результаты, формат результатов, успешный код HTTP ответа, и ограничение по размеру загружаемой страницы
  • В функции парсинга используются следующие возможности:
    • Логирование процесса работы
    • Получение данных по HTTP протоколу, указывается метод, url(запрос), дополнительно указана проверка контента и автоматическое определение кодировки страницы. Работа с прокси, количество попыток и прочие параметры задаются стандартными настройками в интерфейсе парсера
    • Проверка ответа, с помощью регулярного выражения парсится тег title и возвращается результат
 
Пожалуйста добавьте в этот пример перебор юзер-агентов -

[% tools.ua.random() %]

как это сделано в Net::Http парсере
Я использую это пресет как обучающий образец для перевода своих пресетов на JS парсеры
и этой возможности ОЧЕНЬ не хватает.
И сделать версию на JS 2 тоже будет здорово!
 
Последнее редактирование:
СПАСИБО!
Это очень нужная добавка в пример для начала работы с JS парсерами!!!
 
Назад
Верх