Selenium 如何使用代理 IP 进行 Web 爬虫(无认证实现、有账号密码认证实现)

版本

  • Python 3.x

无账号密码使用 Selenium 实现 HTTP 代理

  • 最近一个朋友私聊了我一个问题,Selenium 如何使用代理 IP 进行爬虫,我心想这不是很简单,马上让 GPT 帮忙写一个:

让 GPT 帮我写一个

  • 完整代码如下:
from selenium import webdriver
from selenium.webdriver.common.proxy import Proxy, ProxyType

# 设置代理IP
proxy_ip = "your_proxy_ip"
proxy_port = "your_proxy_port"

# 设置代理
proxy = Proxy()
proxy.proxy_type = ProxyType.MANUAL
proxy.http_proxy = f"{proxy_ip}:{proxy_port}"
proxy.ssl_proxy = f"{proxy_ip}:{proxy_port}"

# 配置浏览器选项
chrome_options = webdriver.ChromeOptions()
chrome_options.add_argument('--proxy-server=http://{}:{}'.format(proxy_ip, proxy_port))

# 启动浏览器
driver = webdriver.Chrome(executable_path='path/to/chromedriver', options=chrome_options)

# 访问百度官网
driver.get('https://www.baidu.com')

# 在这里执行你的操作,比如查找元素、输入搜索关键词等

# 关闭浏览器
driver.quit()

  • GPT 提供的代码有时候并不准确,需要简单修改一下,运行成功:
import time

from selenium import webdriver
from selenium.webdriver.chrome.service import Service

# 设置代理IP
proxy_ip = "127.0.0.1"
proxy_port = "1080"

# 配置浏览器选项
chrome_options = webdriver.ChromeOptions()
chrome_options.add_argument('--proxy-server=http://{}:{}'.format(proxy_ip, proxy_port))

# 启动浏览器
chrome_service = Service("./chromedriver.exe")
driver = webdriver.Chrome(service=chrome_service, options=chrome_options)

# 访问百度官网
driver.get('https://www.baidu.com')

# 在这里执行你的操作,比如查找元素、输入搜索关键词等
time.sleep(30)

# 关闭浏览器
driver.quit()

无账号密码 Selenium 代理

万万没想到加上账号密码会难度升级 + N

  • 代码提供给朋友后,他突然回了一句,我的代理 IP 有账号密码,我心想这不简单,加上账号密码不就行了,然后我又转头把任务交给了 GPT,GPT 又给我提供了一份代码(下面的代码经过微调,还是上面的问题):

GPT 提供的带账号密码的 HTTP 代理解决方案

import time

from selenium import webdriver
from selenium.webdriver.chrome.service import Service
from selenium.webdriver.common.proxy import Proxy, ProxyType

# 设置代理IP
proxy_ip = "your_proxy_ip"
proxy_port = "your_proxy_port"
proxy_username = "your_proxy_username"
proxy_password = "your_proxy_password"

# 设置代理
proxy = Proxy()
proxy.proxy_type = ProxyType.MANUAL
proxy.http_proxy = f"{proxy_ip}:{proxy_port}"

# 配置代理的认证信息
capabilities = webdriver.DesiredCapabilities.CHROME.copy()
proxy_auth = f"{proxy_userna
  • 26
    点赞
  • 25
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值