1.2.912 - обновление NodeJS, повышение производительности, адаптация к изменениям в рекаптчах(https://a-parser.com/threads/6231/)
Мы завершили переход на
NodeJS в качестве основного движка для парсеров и представляем новую стабильную версию
1.2.912 с поддержкой
NodeJS 14.2.0. Данное обновление сочетает в себе множество улучшений, включая повышение производительности, уменьшение потребления памяти, полностью новый сетевой стек, а также поддержку нативных NodeJS модулей, позволяющую использовать всю мощь каталога
npmjs в A-Parser'е
Также в данное обновление включены изменения по работе с
ReCaptcha2 в парсере Google, наша команда одна из первых нашла решение по обходу новой версии рекаптчи и протестировала его совместно с сервисом
RuCaptcha, за что им отдельный респект. На данный момент корректный обход каптчи протестирован с RuCaptcha, Anti-Captcha, XEvil и CapMonster.
Помимо этого было произведено множество оптимизаций в ядре A-Parser'а, значительно увеличилась производительность при использовании большого числа заданий или больших списков прокси. Парсер
Rank::CMS (https://a-parser.com/wiki/rank-cms/) был полностью переписан и стабилизирован, добавлена поддержка нового формата apps.json и поддержка пользовательских правил.
Улучшения- NodeJS обновлен до v14.2.0, v8 до 8.1
- Добавлена поддержка параметра data-s в рекаптчах для SE::Google (https://a-parser.com/wiki/se-google/), также добавлена опция ReCaptcha2 pass proxy
- Увеличен лимит потоков до 10000 для OS Windows
- Значительно улучшена производительность при большом числе активных прокси и/или заданий, полностью переписан стек по работе с прокси, оптимизирована работа с большими списками
- Добавлен новый парсер Rank::KeysSo (https://a-parser.com/wiki/rank-keysso/)
- Полностью переписаны на JS SE::Yahoo::Suggest (https://a-parser.com/wiki/se-yahoo-suggest/), Rank::Alexa::API (https://a-parser.com/wiki/rank-alexa-api/) и Rank::Archive (https://a-parser.com/wiki/rank-archive/)
- Улучшена производительность при использовании регулярных выражений, а также улучшена совместимость
- В SE::Google::KeywordPlanner (https://a-parser.com/wiki/se-google-keywordplanner/) добавлено автоматическое получение токена
- В SE::Bing (https://a-parser.com/wiki/se-bing/) добавлена возможность парсить ссылки на кэшированные страницы, а также добавлена возможность парсить мобильную выдачу
- В парсере Util::ReCaptcha2 (https://a-parser.com/wiki/util-recaptcha2/) при выборе провайдера Capmonster или Xevil теперь необязательно указывать Provider url
- В SE::Google::Trends (https://a-parser.com/wiki/se-google-trends/) добавлена возможность указывать произвольный диапазон дат
- В Rank::CMS (https://a-parser.com/wiki/rank-cms/) добавлен выбор движка регулярок и поддержка собственного файла с признаками
- В SE::Yandex::ByImage (https://a-parser.com/wiki/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 (https://a-parser.com/wiki/se-google/)
- Исправлен SE::Youtube (https://a-parser.com/wiki/se-youtube/), в т.ч. парсинг по тегам
- Исправлен сбор ссылок в Shop::eBay (https://a-parser.com/wiki/shop-ebay/)
- Исправлен парсинг телефонов в Maps::Google (https://a-parser.com/wiki/maps-google/)
- Исправлена работа с каптчами в SE::Yandex::ByImage (https://a-parser.com/wiki/se-yandex-byimage/)
- В Rank::Social::Signal (https://a-parser.com/wiki/rank-social-signal/) удалена переменная $facebook_comment в связи с неактуальностью
- SE::Startpage (https://a-parser.com/wiki/se-startpage/), Rank::Linkpad (https://a-parser.com/wiki/rank-linkpad/), Social::Instagram::post (https://a-parser.com/wiki/social-instagram-post/), SE::Yandex::Translate (https://a-parser.com/wiki/se-yandex-translate/)
Исправления- Исправлен баг, из-за которого игнорировался выбранный проксичекер
- Исправлена работа функций Decode HTML entities и Extract domain в Конструкторе результатов
- Исправлена проблема с определением кодировки
- Исправлена ошибка использования $tools.query
- Исправлен баг в Rank::MajesticSEO (https://a-parser.com/wiki/rank-majesticseo/) при котором использовались все попытки при отсутствии результатов
- Исправлена работа http2
- Исправлена ошибка, когда парсер падает из-за невозможности писать в alive.txt
- Исправлено разгадывание каптч в SE::Yandex::Register (https://a-parser.com/wiki/se-yandex-register/) и Check::RosKomNadzor (https://a-parser.com/wiki/check-roskomnadzor/)
- Исправлена разница в запросах, отправляемых через Net::HTTP (https://a-parser.com/wiki/net-http/) и JS
- Исправлен баг в SE::Yahoo (https://a-parser.com/wiki/se-yahoo/)
- Исправлены ошибки в Rank::CMS (https://a-parser.com/wiki/rank-cms/) при выборе приложения без категории
- [NodeJS] Исправлен подсчет времени исполнения кода парсера
- [JS парсеры] При пустом body не передавался заголовок content-length при post запросе
- [JS парсеры] Исправлена работа CloudFlare bypass
- [JS парсеры] Исправлена работа с сессиями
- [JS парсеры] Исправлена работа с overrides для this.parser.request
- [JS парсеры] Исправлена ошибка определения кодировки в JS парсерах
– https://telegram.me/joinchat/B52bKz_xVDH2GDiEU1MPsQ