众力资讯网

Crawlee崛起,Puppeteer 和 Playwright功不可没?

Crawlee,前端爬虫的希望,真是这样吗前端自动化测试,一步一步走过来,也挺不容易,之前用PhantomJS,后来Pu

Crawlee,前端爬虫的希望,真是这样吗

前端自动化测试,一步一步走过来,也挺不容易,之前用PhantomJS,后来Puppeteer,Playwright也来了,Selenium一直都在,很老牌,但也好用,Jest-Puppeteer,有的人喜欢,有的人觉得麻烦,大家都在找更简单的方法,更厉害的工具,是吧。

Crawlee出现了,一下子就火了,说是啥都能干,爬虫,抓取,数据处理,一个工具就搞定,还能模拟人,像人一样去爬,数据还能存起来,本地,云端,随便你挑,听起来确实不错,所有人都觉得她以后不得了。

优势也挺多,接口统一,HTTP,无头浏览器,都能用,持久化队列,断点续传,不怕爬到一半断了,自动扩展,资源不够了,自己会搞定,代理IP,也帮你管着,生命周期钩子,想怎么改,就怎么改,CLI工具,一键启动,Typescript支持,写代码更舒服,也更安全,总感觉哪里不太对,但又说不上来。

HTTP爬取,也下了功夫,HTTP2支持,不用你管,浏览器UA,TLS指纹,都给你模拟好,HTML解析器,Cheerio,JSDOM,随便用,JSON API,抓取数据,提取数据,都有工具,感觉是挺全能,可是在那种环境下,谁能受得了。

还能模拟真实浏览器,JavaScript渲染,没问题,截图,小菜一碟,无头,有头,随便切换,Puppeteer,Playwright,都能用,指纹模拟,自动化,多浏览器支持,Chrome,Firefox,Webkit,想用哪个用哪个,感觉有点用力过猛了。

上手也简单,CLI,一句命令,项目就建好了,`npx crawlee create my-crawler`,然后`cd my-crawler && npm start`,就能跑起来,看着是挺快,但总觉得少了点啥,一步到位是好事,但一步登天,真的好吗。

手动安装,也行,先装Playwright,好像能让Crawlee小一点,代码也很简单,`PlaywrightCrawler`初始化,配置一下,requestHandler,处理页面,提取数据,链接入队,数据存到`./storage/datasets/default`,enqueueLinks,自动发现链接,headless,控制浏览器是不是显示出来,功能是挺全,但是不是有点太复杂了。

Puppeteer集成,也差不多,requestHandler,提取数据,failedRequestHandler,处理错误,批量URL抓取,看着挺方便,但总觉得哪里怪怪的,代码太多,配置太复杂,是不是真的有必要。

Crawlee的定位,简化爬虫开发,降低技术门槛,提升爬虫效率,稳定性,为前端开发,提供自动化工具,听起来很美好,但是,真的能做到吗,很多人看完这个故事,都会去想,它真的有那么好吗。

未来怎么样,谁也说不准,社区能不能活跃起来,功能能不能继续完善,性能能不能继续优化,应用场景能不能更广泛,都还是未知数,大家都在想,这到底是怎么一回事,它真的能成为前端爬虫的未来吗,大家都在观望。

GitHub仓库,官方文档,开发者社区,都在那里,想了解更多,可以去看看,感谢阅读,点赞,评论,转发,收藏,都可以,但是,最重要的还是思考,它真的适合你吗,它真的能解决你的问题吗,这才是最重要的,不是吗。