Мы завершили переход на 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() Исправления в связи с изменениями в выдаче Множество исправлений в SE::Google Исправлен SE::Youtube, в т.ч. парсинг по тегам Исправлен сбор ссылок в Shop::eBay Исправлен парсинг телефонов в Maps::Google Исправлена работа с каптчами в SE::Yandex::ByImage В Rank::Social::Signal удалена переменная $facebook_comment в связи с неактуальностью SE::Startpage, Rank::Linkpad, Social::Instagram::post, SE::Yandex::Translate Исправления Исправлен баг, из-за которого игнорировался выбранный проксичекер Исправлена работа функций 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 парсерах