发布日期:2023-01-18
什么是Selenium?
Selenium 是一种主要用于 Web 测试和浏览器自动化的工具。
它允许您以编程方式控制无头浏览器:打开网站、截取屏幕截图以及以其他方式与页面交互。随着 JavaScript 的日益流行,网络抓取工具发现了它在处理动态网站方面的优势。
但是,如果没有代理服务器,您将无法进行很多网络抓取或测试,因为网站对高度自动化非常严格。这就是为什么您需要代理服务器——您和互联网之间的中间人计算机。
如果您购买了代理服务,您很可能需要先验证您的代理,然后才能开始使用它们。否则,您将无法在 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)
第 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 代理,身份验证过程类似于 HTTP(S) 代理——您只需将方案设置为socks5。如果您的代理不需要身份验证,请排除“用户”和“密码”。
第 1 步。通过在 URL 中指定您的用户名和密码来 验证您的SOCKS5代理
options = {
'proxy': {
'http': 'socks5://USER:PASSWORD@ENDPOINT',
'https': 'socks5://USER:PASSWORD@ENDPOINT',
'no_proxy': 'localhost,ENDPOINT'
}
}
driver = webdriver.Chrome(seleniumwire_options=options)
2024-03-15
2024-03-15
2024-03-14
2024-02-28
2024-02-28
2023-01-18
关注巨量HTTP公众号
在线客服
客户定制
QQ客服 (09:00 - 24:00)
咨询热线 (09:00 - 24:00)
15629532303
扫码联系微信客服
公众号
扫码关注微信公众号
返回顶部