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()