V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
1995bugme
V2EX  ›  程序员

使用 selenium 爬取数据时,如何在当前已经创建的浏览器实例上,动态切换代理 ip?

  •  
  •   1995bugme · 2024-04-07 18:09:31 +08:00 · 2023 次点击
    这是一个创建于 365 天前的主题,其中的信息可能已经有所发展或是发生改变。
    请教一个问题,使用 java 、selenium 、chromedriver 爬取数据的时候,如何在当前已经打开的浏览器实例上,动态切换代理 ip ?之前采取的措施是,如果要切换代理 ip ,那就关闭浏览器实例再重新创建一个,但是这种反复关闭浏览器实例再创建的操作,开销比较大。有什么办法能够在不关闭浏览器实例的情况下,动态切换代理 ip 么?
    13 条回复    2024-04-08 17:31:04 +08:00
    binsys
        1
    binsys  
       2024-04-07 18:31:58 +08:00
    再套一层代理,然后去控制代理切换代理。
    binsys
        2
    binsys  
       2024-04-07 18:33:43 +08:00
    浏览器-代理 A-代理 B-互联网
    代理 A 提供给浏览器的地址不变,比如 127.0.0.1:8008
    代理 B 自己切换 upstream
    hanssx
        3
    hanssx  
       2024-04-07 19:09:54 +08:00
    插件
    macaodoll
        4
    macaodoll  
       2024-04-07 19:19:57 +08:00 via Android
    自建隧道?
    ik
        5
    ik  
       2024-04-07 19:26:24 +08:00 via iPhone
    轮训的话随便一个四层代理都可以, 需要制定切换可以用 clash ,调 api 切
    defaw
        6
    defaw  
       2024-04-07 19:31:05 +08:00
    http 代理,在 http 代理里面换
    LeegoYih
        7
    LeegoYih  
       2024-04-07 20:34:45 +08:00
    我用 chrome 没解决,最后买了个贵的池。
    我看有解决方案说是 firefox 可以调 api 切换,没试过。
    0o0O0o0O0o
        8
    0o0O0o0O0o  
       2024-04-07 20:40:57 +08:00 via iPhone
    同 #1
    jettzhang
        9
    jettzhang  
       2024-04-07 21:02:33 +08:00
    SwitchyOmega 插件
    pagxir
        10
    pagxir  
       2024-04-07 21:16:14 +08:00 via Android
    代理类型都一样的话,用 iptables 也可以。把旧 nat 规则删掉,然后换新的,这样旧的不会马上断,新建的会用新的代理。
    ClericPy
        11
    ClericPy  
       2024-04-07 21:21:18 +08:00
    隧道代理. 不过你得主动断开旧连接, 在同一次连接时候隧道代理不切换 IP. 我是自己写的隧道代理所以随时想切换就切换

    至于关闭浏览器实例的问题, 可以考虑一下隐私模式, Chrome cdp 通过新建一个个 Browser Context 的时候指定特定的 proxyServer, 这个开销比较小, 而且开一大堆浏览器上下文关闭时候会清理垃圾文件, 不会 CDP 的话就没办法了
    wangyongbo
        12
    wangyongbo  
       2024-04-07 21:24:46 +08:00
    1995bugme
        13
    1995bugme  
    OP
       364 天前
    多谢各位的回复,临时被指派爬取数据,在这方面自己并不擅长,各位提到的这些技术点,我还需要消化一下。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   5725 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 03:25 · PVG 11:25 · LAX 20:25 · JFK 23:25
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.