使用 Selenium 进行网络扫描或自动化时,必须集成代理。代理可以让你绕过禁令、速率限制和地理限制,使你的任务无缝而高效。但是,在 Selenium 中配置代理可能是一个挑战,尤其是在处理身份验证或需要监控 HTTP 请求时。这就是Selenium Wire 的用武之地。
Selenium Wire是 Selenium 的扩展版本,它增加了额外的高级功能,允许你轻松验证代理、拦截 HTTP 请求和响应以及调试网络流量。
在本指南中,我们将向您介绍如何在 Selenium 中设置代理,使用 硒线
和 webdriver 管理器
.通常情况下,你需要从浏览器中下载网络驱动程序的二进制文件,并保持定期更新。网络驱动程序 webdriver 管理器 通过为您处理这些任务,简化了这一过程。
在本博客结束时,你将拥有一个为ProxyScrape 代理定制的、配置完整的 Selenium 设置,随时准备应对任何挑战。让我们开始吧
要访问完整的脚本而无需阅读整个教程,请单击此链接复制完整代码。
在深入了解如何在 Selenium 中设置代理之前,请确保已安装并准备好以下工具和库:
运行以下命令安装所有依赖项:
pipinstallselenium-wire webdriver-manager
注意:您可能会遇到错误"ModuleNotFoundError:没有名为 blinker._saferef 的模块".可通过将 blinker 库降级至1.7.0 版本来解决此问题
闪烁器
pip uninstall blinker
pipinstallblinker==1.7.0
有了这些先决条件,让我们把脚本配置分成三个简单的步骤:
既然我们已经介绍了先决条件,下面就开始实际脚本的编写。本分步指南将帮助您集成 ProxyScrape 住宅代理 使用 硒线
和 webdriver 管理器
.
我们首先要导入必要的库:
导入re
fromseleniumwireimportwebdriver
fromselenium.webdriver.chrome.serviceimportService
fromselenium.webdriver.chrome.options import Options
fromwebdriver_manager.chromeimportChromeDriverManager
定义ProxyScrape 代理详细信息:
proxy_address="rp.proxyscrape.com:6060"
proxy_username="your_proxy_username" 代理服务器用户名
proxy_password="your_proxy_password" 代理服务器密码
(代理用户名、代理密码)。
ProxyScrape 。在 Selenium Wire 中设置代理:
sw_options = {
'proxy': {
'http': f'http://{proxy_username}:{proxy_password}@{proxy_address}',
'https': f'https://{proxy_username}:{proxy_password}@{proxy_address}',
}
}
优化 Chrome 浏览器设置,提高性能:
chrome_options =Options()
chrome_options.add_argument("--start-maximized")
chrome_options.add_argument("--no-sandbox")
chrome_options.add_argument("--disable-dev-shm-usage")
设置 硒线
与 webdriver 管理器
:
服务 = 服务(ChromeDriverManager().install()
driver = webdriver.Chrome(service=service,seleniumwire_options=sw_options,options=chrome_options)
导航至ProxyScrape Judge 端点测试代理:
driver.get('https://ssl-judge2.api.proxyscrape.com/')
使用 regex 提取并显示代理 IP 地址:
# 示例:从响应中提取 IP
response = driver.page_source
# 使用简单的 regex 来解析来源 IP
print("Response:", response)
print("Your IP is:", re.search("HTTP_X_FORWARDED_FOR = (\d+\.)+\d+", response).group().split("=")[-1])
# 退出浏览器实例
driver.quit()
HTTP_X_FORWARDED_FOR
并提取代理 IP总之,使用ProxyScrape 住宅代理服务器和Selenium Wire是一个强大的解决方案,适合需要高级网络搜索和自动化功能并提高隐私和安全性的人。
按照本指南,您可以建立一个无缝环境,不仅能绕过限制,还能将配置工作减至最少。该方法利用Selenium Wire和WebDriver Manager等强大工具,通过代理有效管理和路由流量,确保刮擦任务高效可靠。
如果您需要网络搜刮方面的帮助,或对我们的产品有任何疑问,请随时通过即时聊天与我们联系。您也可以加入我们的Discord 社区,获得支持和更新。