我们使用联盟链接。它们让我们能够维持运营,而您无需承担任何费用。

如何使用 Python 设置 Selenium 代理

这是有关如何使用 Python 设置和验证 Selenium 代理的分步指南。

如何使用 Selenium 设置代理

Selenium 是一种主要用于 Web 测试和浏览器自动化的工具。它允许您控制 无头浏览器 以编程方式:打开网站、截取屏幕截图以及与页面进行其他交互。随着 JavaScript 的日益流行,网页抓取工具在处理动态网站方面发挥了重要作用。 

然而,如果没有 代理服务器 因为网站对高度自动化的要求很高。这就是为什么你需要代理服务器——你和互联网之间的中间人计算机。

本 Python 教程将向您展示如何使用 Selenium 设置代理服务器以及如何处理代理身份验证。

如何使用 Selenium Wire 设置代理

如果你订阅了 代理服务,您很可能需要先验证代理,然后才能开始使用它们。否则,您将无法在 Selenium 中运行它。根据项目的规模,您可以将 Selenium 与常规浏览器或无头浏览器一起使用。在此示例中,我们将向您展示如何使用无头浏览器设置和验证代理。

首先,您需要安装 Selenium Wire 来扩展 Selenium 的 Python 绑定。当您需要验证代理时,默认的 Selenium 模块会使该过程变得过于复杂。 

步骤 1。 安装 Selenium Wire 并导入 WebDriver。

				
					pip install selenium-wire
from seleniumwire import webdriver

				
			
注:您可以参考 GitHub 文档 有关如何安装 Selenium Wire。 步骤 2。 我们建议安装 WebDriver-manager,这样您就不需要在每次更新后下载 Selenium。
				
					pip install webdriver-manager

				
			

步骤 3。 将您的代理添加到 选项 传递给 WebDriver 的参数。

				
					options = {
    'proxy': {
        'http': 'http://USER:PASSWORD@ENDPOINT',
        'https': 'https://USER:PASSWORD@ENDPOINT',
    }
}

driver = webdriver.Chrome(seleniumwire_options=options)

				
			

如何设置带身份验证的 HTTP(S) 代理

步骤 1。 要验证您的代理,您需要在 URL 中指定您的用户名和密码。

				
					options = {
    'proxy': {
        'https': 'https://USER:PASSWORD@ENDPOINT',
    }
}
				
			

步骤 2。 您还可以通过环境变量设置代理。如果这样做,则无需在代码中定义代理。

				
					$ export HTTP_PROXY="http://ENDPOINT"

$ export HTTPS_PROXY="https://ENDPOINT"

$ export NO_PROXY="LOCALHOST,ENDPOINT"
				
			

如何设置带身份验证的 SOCKS5 代理

使用 SOCKS5 代理,身份验证过程与 HTTP(S) 代理类似 - 您只需将方案设置为 socks5。如果您的代理不需要身份验证,请排除“用户”和“密码”。

步骤 1。 验证您的 SOCKS5 通过在 URL 中指定您的用户名和密码来使用代理。 

				
					options = {
    'proxy': {
        'http': 'socks5://USER:PASSWORD@ENDPOINT',
        'https': 'socks5://USER:PASSWORD@ENDPOINT',
        'no_proxy': 'localhost,ENDPOINT'
    }
}
driver = webdriver.Chrome(seleniumwire_options=options)
				
			
Chris Becker 的照片
克里斯·贝克尔
代理审阅者和测试者。