1.2.912 - обновление NodeJS, повышение производительности, адаптация к изменениям в рекаптчахМы завершили переход на
NodeJS в качестве основного движка для парсеров и представляем новую стабильную версию
1.2.912 с поддержкой
NodeJS 14.2.0. Данное обновление сочетает в себе множество улучшений, включая повышение производительности, уменьшение потребления памяти, полностью новый сетевой стек, а также поддержку нативных NodeJS модулей, позволяющую использовать всю мощь каталога
npmjs в A-Parser'е
Также в данное обновление включены изменения по работе с
ReCaptcha2 в парсере Google, наша команда одна из первых нашла решение по обходу новой версии рекаптчи и протестировала его совместно с сервисом
RuCaptcha, за что им отдельный респект. На данный момент корректный обход каптчи протестирован с RuCaptcha, Anti-Captcha, XEvil и CapMonster.
Помимо этого было произведено множество оптимизаций в ядре A-Parser'а, значительно увеличилась производительность при использовании большого числа заданий или больших списков прокси. Парсер
Rank::CMS был полностью переписан и стабилизирован, добавлена поддержка нового формата apps.json и поддержка пользовательских правил.
Улучшения- NodeJS обновлен до v14.2.0, v8 до 8.1
- Добавлена поддержка параметра data-s в рекаптчах для SE::Google, также добавлена опция ReCaptcha2 pass proxy
- Увеличен лимит потоков до 10000 для OS Windows
- Значительно улучшена производительность при большом числе активных прокси и/или заданий, полностью переписан стек по работе с прокси, оптимизирована работа с большими списками
- Добавлен новый парсер Rank::KeysSo
- Полностью переписаны на JS SE::Yahoo::Suggest, Rank::Alexa::API и Rank::Archive
- Улучшена производительность при использовании регулярных выражений, а также улучшена совместимость
- В SE::Google::KeywordPlanner добавлено автоматическое получение токена
- В SE::Bing добавлена возможность парсить ссылки на кэшированные страницы, а также добавлена возможность парсить мобильную выдачу
- В парсере Util::ReCaptcha2 при выборе провайдера Capmonster или Xevil теперь необязательно указывать Provider url
- В SE::Google::Trends добавлена возможность указывать произвольный диапазон дат
- В Rank::CMS добавлен выбор движка регулярок и поддержка собственного файла с признаками
- В SE::Yandex::ByImage добавлена опция Don't scrape if no other sizes, которая позволяет отключить сбор результатов, если искомой картинки нет в других размерах
- [NodeJS] Добавлена защита от бесконечных циклов и долгих регулярок
- [NodeJS] Исправлена работа this.cookies.getAll()
- [JS парсеры] Добавлена опция follow_meta_refresh для this.request
- [JS парсеры] Добавлена опция bypass_cloudflare для this.request
- [JS парсеры] Underscore заменен на Lodash
- [JS парсеры] В логе добавлена пометка при вызове других парсеров
- [JS парсеры] Использование предыдущего прокси после запроса к другому парсеру
- [JS парсеры] Добавлен метод destroy()
Исправления в связи с изменениями в выдачеИсправления- Исправлен баг, из-за которого игнорировался выбранный проксичекер
- Исправлена работа функций Decode HTML entities и Extract domain в Конструкторе результатов
- Исправлена проблема с определением кодировки
- Исправлена ошибка использования $tools.query
- Исправлен баг в Rank::MajesticSEO при котором использовались все попытки при отсутствии результатов
- Исправлена работа http2
- Исправлена ошибка, когда парсер падает из-за невозможности писать в alive.txt
- Исправлено разгадывание каптч в SE::Yandex::Register и Check::RosKomNadzor
- Исправлена разница в запросах, отправляемых через Net::HTTP и JS
- Исправлен баг в SE::Yahoo
- Исправлены ошибки в Rank::CMS при выборе приложения без категории
- [NodeJS] Исправлен подсчет времени исполнения кода парсера
- [JS парсеры] При пустом body не передавался заголовок content-length при post запросе
- [JS парсеры] Исправлена работа CloudFlare bypass
- [JS парсеры] Исправлена работа с сессиями
- [JS парсеры] Исправлена работа с overrides для this.parser.request
- [JS парсеры] Исправлена ошибка определения кодировки в JS парсерах