from selenium import webdriver
from selenium.webdriver.common.proxy import *
from selenium.webdriver.common.by import By
from time import sleep
import requests
response = requests.get("http://proxy.tinsoftsv.com/api/changeProxy.php?key=mykey_apiG&location=0")
print(response.json())
proxy_url = "127.0.0.1:9009"
proxy = Proxy({
'proxyType': ProxyType.MANUAL,
'httpProxy': proxy_url,
'sslProxy': proxy_url,
'noProxy': ''})
capabilities = webdriver.DesiredCapabilities.CHROME
proxy.add_to_capabilities(capabilities)
driver = webdriver.Chrome(desired_capabilities=capabilities)
driver.get("https://whoer.net/zh")
我遇到了一个问题。我从一个web服务租用了一个循环代理,我想通过api不断地改变IP。我用请求模块获得新的IP,它怎么能自动获得新的IP并替换旧的IP使用呢?我是一个新手,真的不太懂,希望有人能帮助我。非常感谢!
我阅读了服务网站的说明,但他们没有Python的教程
2条答案
按热度按时间iswrvxsc1#
要更改Selenium webdriver使用的IP地址,可以执行以下操作:
nhaq1z212#
代码似乎正确导入了必要的模块,并使用它们创建了一个Proxy对象和一个webdriver.chrome对象。
但是,该代码存在一些问题,可能会导致其无法按预期方式工作:
proxy_url变量被设置为“127.0.0.1:9009”,这是本地主机的IP地址和端口号。这不是一个有效的代理服务器,它将不允许webdriver.Chrome对象访问互联网。您应该将其替换为有效的代理服务器IP地址和端口号。
代码中未使用响应变量。requests.get()方法用于从代理API获取响应,但未以任何方式保存或使用该响应。应使用该响应获取有效的代理服务器IP地址和端口号,或从代码中删除requests.get()方法。
sleep()方法被导入但未在代码中使用。这不会导致任何错误,但它是不必要的,可以从代码中删除。
下面是更正后的代码: