温馨提示:
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和端口通过ipip9的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:[email protected]:12345, "https":http://username:[email protected]: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()