V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
s2555
V2EX  ›  Python

有人喜欢写爬虫用浏览器扩展来实现的吗?

  •  
  •   s2555 · 32 天前 · 3088 次点击
    这是一个创建于 32 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

    42 条回复    2025-02-25 22:30:55 +08:00
    cyhlnj
        1
    cyhlnj  
       32 天前
    扩展怎么写的
    aladd
        2
    aladd  
       32 天前
    同策略,因为我不会写代码,过验证对我来说太难了,外加我维护的小玩具难度太低了,有结果就行。
    所以我一直这么玩的,并很满意!
    callmejoejoe
        3
    callmejoejoe  
       32 天前
    看需求,简单少量的数据爬取用扩展也可以,就是速度慢,还得开着电脑浏览器不休眠
    fidcz123
        4
    fidcz123  
       32 天前
    想问下有些页面 js 调用 click 不生效,这个怎么处理?
    尝试过事件以及网上大部分操作都无效

    对于多页之类的总不可能一个个手动点
    815979670
        5
    815979670  
       32 天前
    写扩展也麻烦 可以写油猴插件 JS 就能操作
    AFOX
        6
    AFOX  
       32 天前
    @fidcz123 加一个 delay 试试
    lisxour
        7
    lisxour  
       32 天前
    无头啊,浏览器扩展不觉得很受限嘛?完全吃力不讨好
    TimePPT
        8
    TimePPT  
       32 天前
    playwright+无头浏览器,解决 80%问题
    tool2dx
        9
    tool2dx  
       32 天前
    @lisxour cf 防火墙访问限制开高的话,无头很难爬,动不动就跳验证。
    yahon
        10
    yahon  
       32 天前
    简单的我一般用这个插件 https://tenrabbits.github.io/user-js-css-docs/
    irever
        11
    irever  
       32 天前
    简单使用的话可以试试 WebScraper
    picone
        12
    picone  
       32 天前
    量少的话确实很方便,直接兼容所有反爬策略,验证码除外。 我喜欢用 automa 这个插件,不用自己手写。
    mc2tap
        13
    mc2tap  
       32 天前
    确实,经常用 puppeteer 做
    sofukwird
        14
    sofukwird  
       32 天前 via Android
    https://www.v2ex.com/t/1028977#reply50
    把页面资源通过 http proxy 代理暴露出来
    hanssx
        15
    hanssx  
       32 天前
    不是,你扩展怎么就能过 cf 了吗?还是说你手动过了 cf ,扩展再工作,那你这顶多半自动化。
    kkk1234567
        16
    kkk1234567  
       32 天前
    selenium ,直接用浏览器爬
    Vegetable
        17
    Vegetable  
       32 天前
    没歪,这样挺好的。
    包括使用 MITM 代理+手动翻页,都是可行的方案。前提是看你什么需求。

    对自动化要求高、规模大的当然不行,但很多爬虫其实不是这样的需求。
    lisxour
        18
    lisxour  
       32 天前
    @tool2dx 那也可以直接 playwright 自动化控制浏览器啊,本质就是跟自己打开浏览器一样的,啥方案不比浏览器扩展强
    mumbler
        19
    mumbler  
       32 天前
    无头浏览器才是正确姿势
    freewind
        20
    freewind  
       32 天前
    C# + webview2 自己做浏览器爬

    扩展限制了很多权限
    s2555
        21
    s2555  
    OP
       32 天前
    @cyhlnj 分析好页面,chatgpt 直接写好了,再改改就行了。
    s2555
        22
    s2555  
    OP
       32 天前
    @freewind 我很早也做过这样的啊,很多网页直接屏蔽了
    s2555
        23
    s2555  
    OP
       32 天前
    @fidcz123 目前没试过不生效的,这个基本等于鼠标操作了
    cutecore
        24
    cutecore  
       32 天前
    一样,难搞的会用浏览器,用 Bulk URL Opener 和 Tampermonkey 来做。
    s2555
        25
    s2555  
    OP
       32 天前
    @TimePPT playwright 打开的浏览器就跟新开的浏览器啊,没有登录状态
    s2555
        26
    s2555  
    OP
       32 天前
    有些网站我只要模拟点击下一页,然后拦截请求,就可以获取那些 api 的数据,但是有很多不行,半桶水水平。
    s2555
        27
    s2555  
    OP
       32 天前
    @callmejoejoe 用 python 模拟的话也要开着电脑啊,而且你还不能干别的了,浏览器扩展的话,我只要开着那个网页就行了。
    dawn009
        28
    dawn009  
       32 天前
    @mumbler
    @kkk1234567

    无头浏览器能被反爬检测到。真实浏览器最省心,反正个人使用也不需要很高的效率,足够了
    Chatterleys
        29
    Chatterleys  
       32 天前
    简单的可以,但是风控都很难过,我平常做扩展类工具比较多,电商类的自动化工具
    soar0712
        30
    soar0712  
       32 天前
    我用 java 多,我的解决办法
    1 、不复杂的话,用 java 操作无头浏览器,能抓住八成的数据;
    soar0712
        31
    soar0712  
       32 天前
    @soar0712 2 、更复杂的,直接用 java 操作 robot 接管键鼠,模拟人工取数据
    cdlnls
        32
    cdlnls  
       32 天前 via Android
    哈哈,我之前做了一个,写着玩的没开源。

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

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

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

    做出来了之后特别像后门软件,可以在没有察觉的情况下监控浏览器的上网情况。。。
    NerdHND
        33
    NerdHND  
       32 天前
    abigeater
        34
    abigeater  
       31 天前
    用油猴写 教会怎么用油猴就好, 浏览器扩展没发布得启用开发者模式,教别人安装这个太麻烦了不同浏览器的扩展打包也麻烦
    s2555
        35
    s2555  
    OP
       31 天前
    @cdlnls 牛的
    @NerdHND 感谢,看了对我来说太麻烦了。
    @abigeater 我了解一下
    macaodoll
        36
    macaodoll  
       31 天前
    我选择直接定制浏览器,
    zbowen66
        37
    zbowen66  
       31 天前
    @s2555 #25 明明可以把所有状态 cookies ,storage 等储存到不同 JSON 文件,启动的时候可以加载不同文件,方便地一批
    s2555
        38
    s2555  
    OP
       31 天前
    @zbowen66 🙏感谢,deepseek 了一下,完全明白了
    guaguaguaxia1
        39
    guaguaguaxia1  
       31 天前
    不管黑猫白猫
    iorilu
        40
    iorilu  
       31 天前
    插件怎么个玩法, 有没有开源得参考下

    有时候也想爬点数据
    s2555
        41
    s2555  
    OP
       31 天前
    @iorilu 在 deepseek 输入需求,它会把每一步都写出来,跟着做就行了,没多少代码。
    kailyn
        42
    kailyn  
       27 天前
    @fidcz123 试过用代码依次触发 mouseover ,mousedown ,mouseup 这几个事件吗?我遇到过一个网站,也是 click 无效,只有用代码去对按钮触发这三个事件才行,缺一不可。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1793 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 16:20 · PVG 00:20 · LAX 09:20 · JFK 12:20
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.