Причиной этого различия является базовая технология, используемая в этих двух решениях.
legacy-phantomjs-crawler использует PhantomJS в качестве движка рендеринга. PhantomJS очень быстрый, но, к сожалению, он больше не поддерживается разработчиками, и многие веб-сайты запрещают доступ при обнаружении PhantomJS. Также он не поддерживает современный javascript ( es6 и более поздние ), поэтому некоторые современные веб-сайты не загружаются.
PuppeteerCrawler использует браузер chrome / chromium, управляемый через javascript, в качестверендеринг движка. Это медленнее, чем PhantomJS, потому что происходит больше процессов, но современные веб-сайты и сайты, которые блокируют PhantomJS, обычно работают хорошо.
Есть еще одна опция, а это CheerioCrawler , которыйдаже быстрее, чем PhantomJS, потому что он даже не отображает веб-сайт и не обрабатывает javascript, он работает только с HTML-кодом загруженной страницы. Обычно это лучший вариант, если веб-сайт, к которому вы хотите получить доступ, не использует JavaScript для загрузки данных и не имеет защиты от обычных сетевых запросов.
К сожалению, в нашем SDK мы больше не предоставляем поддержку PhantomJS, главным образомпотому что мы сталкивались с новыми проблемами, когда страницы блокировали или не загружались. Вы можете ускорить поиск кукловода, блокируя ненужные ресурсы и ожидая правильных событий во время навигации. Здесь - это, например, функция, которая может помочь вам заблокировать то, что вам не нужно загружать со страницы.