В 64-битных windows/linux версиях обновлен JavaScript движок V8 до версии 6.3
SE::Bing::Translator полностью переписан, исправлена проблема, когда не переводился текст с html тегами и двойными кавычками, а также теперь переводятся большие тексты
Добавлено автодополнение Provider url для CapMonster в Util::ReCaptcha2
Добавлена возможность парсинга Cloudflare protected e-mails в HTML::EmailExtractor
Добавлена сортировка JS парсеров внутри папок
Уведомление о новой версии перенесено в статусбар
Улучшена плавность при просмотре логов в Тестовом парсинге
Исправления в связи с изменениями в выдачи
Исправлена ошибка, когда выдавалась одинаковая выдача для всех страниц в SE::Bing
Анализ текста Одним из самых популярных кейсов по применению А-Парсера является парсинг текстов. При этом возникает задача их анализа. Полноценно решить эту задачу позволяют специальные ресурсы. Ранее мы уже публиковали пресет по парсингу одного из таких сервисов. Теперь же это решение полностью переписано в виде JS-парсера, добавлена возможность анализировать не только тексты, а и полностью страницы, т.е. подавать на вход ссылки. Все детали и сам парсер - по ссылке выше.
Автоматизация регистрации аккаунтов Яндекса Как известно, для парсинга WordStat нужны аккаунты Яндекса. А-Парсер умеет их регистрировать, но их срок жизни невелик, т.к. спустя 1-2 суток включается проверка номера телефона. Поэтому возникает необходимость периодической регистрации новых аккаунтов. И это можно легко автоматизировать. По ссылке выше показано как это сделать.
Исправлена ошибка, когда при запросе с опечаткой SE::Google::Modern не забирал результаты с первой страницы
Исправлена ошибка в Rank::MajesticSeo, при которой неправильно определялся бан IP
В SE::Google::Trends исправлена работа при изменении формата результата по-умолчанию
В SE::Google::Modern для Search from country изменен параметр: вместо cr теперь используется gl - это на данный момент позволяет более точно задавать регион
Исправлена проблема с чрезмерным потреблением памяти в JavaScript парсерах
Исправлена ошибка влияющая на стабильность работы на Linux и Windows
Исправлена ошибка в SE::Yandex, при которой не было результатов, если в выдаче одна ссылка
Команда A-Parser поздравляет всех с Новым годом и Рождеством! Спасибо что вы с нами!
Как известно, в A-Parser есть возможность создавать свои собственные парсеры, которые могут иметь практически любую логику и в то же время позволяют пользоваться всеми преимуществами А-Парсера. Для написания таких парсеров используется язык JavaScript. В нашей документации подробно описаны все функции и методы, которые можно использовать при написании парсеров. А в сегодняшнем сборнике мы на практических примерах покажем наиболее часто применяемые функции. Поехали!
Получение результатов от стандартного парсера. В этой статье описано использование функции yield this.parser.request, которая позволяет работать с уже существующими парсерами, получать от них данные и дополнительно обрабатывать их.
Парсинг сайта с проходом по страницах. Здесь показан общий подход к созданию парсера, который будет "ходить" по страницам на сайте и забирать с них некоторую информацию.
Парсинг title и description для топ10 сайтов по запросу. В данном примере показано как написать собственный парсер, который объединит в себе две разных задачи: парсинг топ10 сайтов и парсинг данных из каждого полученного сайта. При этом также будет показана возможность реализации выбора между несколькими поисковиками, что делает такой парсер еще более универсальным.
Работа с CAPTCHA. В этой статье на простом примере будет показан общий подход к работе с сайтами, на которых появляется каптча. Будет пошагово разобран алгоритм и продемонстрирован результат работы.
Работа с ReCaptcha2. А в этом примере по аналогии с обычной каптчей демонстрируется алгоритм работы с рекаптчей, а также вкратце поясняется принцип ее действия.
Для каждой статьи в конце будет продемонстрирован результат работы и дана ссылка на готовый парсер.
Если вы хотите, чтобы мы более подробно раскрыли какой-то функционал парсера, у вас есть идеи для новых статей или вы желаете поделиться собственным опытом использования A-Parser (за небольшие плюшки :) ) - отписывайтесь здесь.
Подписывайтесь на наш канал на Youtube - там регулярно выкладываются видео с примерами использования A-Parser, а также следите за новостями в Twitter.
Пользуюсь софтом более 2х лет. Уже кучу сервисов наваял под капотом которых пыхтит A-parser. Не представляю себе работу без атоматизации и такой масштабируемости как с данным парсером.
Отдельно хочу отметить качественную работу саппорта и активную помощь в решении нестандартных задач.
Это видео начинает цикл уроков по созданию JavaScript парсеров. Здесь рассказано о том, как начать писать собственные парсеры, используя функционал JS парсеров в А-Парсере.
В уроке рассмотрено:
Создание кастомного JS парсера
Использование встроенного парсера внутри JS парсера
Парсинг выдачи поисковой системы с фильтрацией результатов по заданному условию
Второе видео в цикле уроков по созданию JavaScript парсеров. Здесь рассказано о том, как написать несложный парсер сайта, который будет "листать" страницы, используя функционал JS парсеров в А-Парсере.
В уроке рассмотрено:
Создание кастомного JavaScript парсера без использования встроенных парсеров
Парсинг контента сайта постранично с использованием регулярных выражений
Реализация прохода по страницам ("пагинации") в JS парсере
В A-Parser 1.2.138добавлена эмуляция node версии 8.9.x с поддержкой загрузки модулей и частичной реализацией fs и net модулей. Это дает возможность обращаться из JavaScript парсеров напрямую к файловой системе, а также использовать подключение по TCP из модулей к другим сервисам(например mysql, redis, chrome...).
Все это позволило загружать и использовать node модули из каталога npm, в котором собраны множество полезных библиотек для обработки данных, коннекторы к базам данных и множество других интересных вещей. На данный момент протестированы следующие модули: md5, async-redis, jsdom, puppeter. Улучшения
Добавлена поддержка Node.js модулей в JavaScript парсерах
Как известно, сейчас Google при парсинге очень часто выдает рекаптчу, что значительно усложняет и замедляет сбор данных. В A-Parser есть возможность обходить данную проблему, разгадывая рекаптчу с помощью сторонних сервисов. Поддерживаются различные онлайн сервисы, а также программные решения.
Одним из таких решений есть XEvil. Его использование дает хороший прирост в скорости, а также значительно удешевляет парсинг, ведь здесь нету оплаты за количество разгаданных каптч/рекаптч, как в онлайн сервисах. Кроме этого, XEvil умеет разгадывать практически любые обычные каптчи (в виде картинки) и данная возможность также поддерживается в A-Parser.
На данный момент использовать разгадывание рекаптчи с помощью XEvil можно в таких парсерах: