注册
登录
 文档中心 产品介绍 开发指南 API接口 代码样例 使用帮助
文档中心 / 代码样例 / Python-Selenium /
Python-Selenium使用Firefox调用Http代理IP的代码样例
站大爷 官方 2024-01-20 1416 浏览

温馨提示:

1.  样例为基于"终端IP"授权和"用户名+密码"授权方式使用Selenium+Firefox认证代理IP

2.  运行环境要求python2/3 + selenium + Firefox + geckodriver + Windows/Linux/macOS

3.  注意geckodriver版本要和Firefox版本对应

4.  selenium不是python原生库,需要安装才能使用:pip install selenium;selenium 4.6版本开始,无需手动下载driver

5.  selenium-wire不是python原生库,需要安装才能使用:pip install selenium-wire

6.  ${geckodriver_path}:您本机geckodriver驱动存放路径,如:"C:\geckodriver.exe"

7.  ${ip:port}:代理IP:端口号,代理IP和端口通过站大爷的API提取链接可获取


"终端IP"授权

from selenium import webdriver
import time

fp = webdriver.FirefoxProfile()
proxy = '${ip:port}'
ip, port = proxy.split(":")
port = int(port)

# 设置代理配置
fp.set_preference('network.proxy.type', 1)
fp.set_preference('network.proxy.http', ip)
fp.set_preference('network.proxy.http_port', port)
fp.set_preference('network.proxy.ssl', ip)
fp.set_preference('network.proxy.ssl_port', port)

driver = webdriver.Firefox(executable_path="${geckodriver_path}", firefox_profile=fp)
driver.get('https://example.com')

# 获取页面内容
print(driver.page_source)

# 延迟3秒后关闭当前窗口,如果是最后一个窗口则退出
time.sleep(3)
driver.close()



"用户名+密码"授权

import time

from seleniumwire import webdriver # pip install selenium-wire

username='username' # 请替换您的用户名和密码
password='password'
proxy_ip='168.168.168.168:8888' # 请替换您提取到的代理ip
options={
	'proxies'={
		"http":"http://username:password@168.168.168.168:12345,
		"https":http://username:password@168.168.168.168:12345
	}
}

driver=webdriver.Firefox(seleniumwire_options=options,executable_path="${geckodriver_path}")

driver.get('https://example.com')

# 获取页面内容
print(driver.page_source)

# 延迟3秒后关闭当前窗口如果是最后一个窗口则退出
time.sleep(3)
driver.close()


立即注册站大爷用户,免费试用全部产品
立即注册站大爷用户,免费试用全部产品