尝试用 Chrome Devtools Protocol 代替 selenium、pyppeteer 进行爬虫任务,应该如何学习?
搜索学习资料的时候发现相关信息不多,看某位大佬写的《深入浅出 CDP (Chrome DevTools Protocol)》 https://clericpy.github.io/blog/posts/20200114151137/ ,但感觉还是很懵。
搜索学习资料的时候发现相关信息不多,看某位大佬写的《深入浅出 CDP (Chrome DevTools Protocol)》 https://clericpy.github.io/blog/posts/20200114151137/ ,但感觉还是很懵。
https://pypi.org/project/pyppeteer/#history
pip 上的 pyppeteer 在 1 月 8 号还发布了 0.2.5 版本呢
跟主所说的“长期不更新”的情况相悖,这中间是不是有什么误会
与之相对应的主流选择就是微软从 https://github.com/microsoft/playwright 移植过来的 https://github.com/microsoft/playwright-python playwright 是微软开发的类似 puppeteer 的一套脚手架, 除了 Blink 内核的浏览器, 好像还有火狐等其他内核
以上两者都是正规军入场生态比较完善的选择
selenium 拿来写爬虫是因为培训班软文较多, 看看就算了
至于主提到的博客, 实际上就是应付面试出的快餐产物, 里面提到的 ichrome 其实是在上班时候自己摸索 CDP (2017 年也没有轮子可选) 做过的代码重构成框架来用的, 目前在新工作里面上生产环境发现了很多 bug, 虽然基本都修复了, 但是底层架构的设计层面都不成熟, 目前拿来做一些不太复杂的小项目没什么问题
总之一句话概括 CDP 就是通过 Websocket 给开启远程调试接口的 Chrome 进程发送指令进行操作标签的协议, 所有返回结果或者事件也可以在 WS 里收到, 至于用哪个轮子都无所谓