peace & love, 不是引战, 提问为主
2013 年就看到用 selenium 搞爬虫的例子
那个年代 phantomjs 作者还没放弃, 各种 driver 也算不错
然后 chrome/chronium 忘了哪个版本出来, 原生支持 remote debug 功能 (参见 CDP 官方文档, chrome devtools protocol), firefox 也支持着, 就有点不明白 selenium 做爬虫有什么特别好的地方, 之前一直以为它就是个做测试用的
cdp 刚出不久接到任务搞过相关爬虫, 虽然各种 socket 把我绕的晕了一段时间, 调度一堆进程实例也好多僵尸进程孤儿进程以及忘记 close fds...
不过切身使用过以后, 不论性能 /兼容性 /CPU 内存使用率都更舒服的多, 2CPU 8GB 机器开 40 多 headless 实例才用了一半多资源, 每个实例还可以开很多 tab (之所以不全在一个实例里开 tab, 还是那个浏览器禁止对同一个域名发起太多连接的梗)
所以有点想知道 selenium 被用做爬虫到底还有什么特别有优势的地方
PS: 已经启动的 chrome 进程, 怎么动态修改代理 ip 和 user-agent, 早年间 headless 模式下不支持 pac-file, 也没找到什么好方法动态改 pac 的方式, 然后 user-agent 也不知道怎么像 chrome 插件那样动态更改, proxy 和 UA 都是启动时参数搞的
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.