要爬网页的时候,每次用 python 写都是容易跳出验证,有些要登录的更麻烦,后来我发现写浏览器扩展,直接操作当前的页面好像不用考虑那么多情况,爬到的数据直接发到接口处理。所以问下大家,我这个是 Python 用得不好,技能点歪了吗?

扩展怎么写的

同策略,因为我不会写代码,过验证对我来说太难了,外加我维护的小玩具难度太低了,有结果就行。
所以我一直这么玩的,并很满意!

看需求,简单少量的数据爬取用扩展也可以,就是速度慢,还得开着电脑浏览器不休眠

想问下有些页面 js 调用 click 不生效,这个怎么处理?
尝试过事件以及网上大部分操作都无效

对于多页之类的总不可能一个个手动点

写扩展也麻烦 可以写油猴插件 JS 就能操作

加一个 delay 试试

无头啊,浏览器扩展不觉得很受限嘛?完全吃力不讨好

playwright+无头浏览器,解决 80%问题

cf 防火墙访问限制开高的话,无头很难爬,动不动就跳验证。

简单的我一般用这个插件 tenrabbits.github.io/user-js-css-docs/

简单使用的话可以试试 WebScraper

量少的话确实很方便,直接兼容所有反爬策略,验证码除外。 我喜欢用 automa 这个插件,不用自己手写。

确实,经常用 puppeteer 做

www.hesudu.com/t/1028977#reply50
把页面资源通过 http proxy 代理暴露出来

不是,你扩展怎么就能过 cf 了吗?还是说你手动过了 cf ,扩展再工作,那你这顶多半自动化。

selenium ,直接用浏览器爬

没歪,这样挺好的。
包括使用 MITM 代理+手动翻页,都是可行的方案。前提是看你什么需求。

对自动化要求高、规模大的当然不行,但很多爬虫其实不是这样的需求。

那也可以直接 playwright 自动化控制浏览器啊,本质就是跟自己打开浏览器一样的,啥方案不比浏览器扩展强

无头浏览器才是正确姿势

C# + webview2 自己做浏览器爬

扩展限制了很多权限

分析好页面,chatgpt 直接写好了,再改改就行了。

我很早也做过这样的啊,很多网页直接屏蔽了

目前没试过不生效的,这个基本等于鼠标操作了

一样,难搞的会用浏览器,用 Bulk URL Opener 和 Tampermonkey 来做。

playwright 打开的浏览器就跟新开的浏览器啊,没有登录状态

有些网站我只要模拟点击下一页,然后拦截请求,就可以获取那些 api 的数据,但是有很多不行,半桶水水平。

用 python 模拟的话也要开着电脑啊,而且你还不能干别的了,浏览器扩展的话,我只要开着那个网页就行了。

无头浏览器能被反爬检测到。真实浏览器最省心,反正个人使用也不需要很高的效率,足够了

简单的可以,但是风控都很难过,我平常做扩展类工具比较多,电商类的自动化工具

我用 java 多,我的解决办法
1 、不复杂的话,用 java 操作无头浏览器,能抓住八成的数据;

2 、更复杂的,直接用 java 操作 robot 接管键鼠,模拟人工取数据

哈哈,我之前做了一个,写着玩的没开源。

浏览器装上了插件之后,会同步当前的 tab 到服务端,用 websocket 个服务器同步状态。

服务器会下发命令,执行 js ,获取网页内容等等。

服务端下发任务的时候,可以随机分配任务到连接的客户端上,执行分布式任务。。

做出来了之后特别像后门软件,可以在没有察觉的情况下监控浏览器的上网情况。。。

无头浏览器爬虫可以看(这篇)[gaoconghui.github.io/2019/06/无头浏览器反爬与反反爬/]