造成这种情况的原因可能有很多:
如果我不得不猜测这是IP泄漏。低质量代理不会在各种网站上屏蔽您的 IP。 whoer.net是一个测试IP泄漏的好网站。 IP 地址只是因素之一,您还必须考虑浏览器指纹识别和用户代理欺骗。理想情况下,您希望 whoer.net 具有 100% 的匿名评级。
另外,请确保您安装了最新的 Chrome 和 Firefox。
我已经测试了你的代码并且它有效。也许通过公共代理提供您的完整代码可能会帮助其他人完全按照您所看到的方式复制您的工作。我只能猜测您如何使用代理,因此我的代码可能会有所不同。我也在用windows
据我所知,您提供的代码似乎没有任何问题,因此我假设您的 IP 正在通过其他方式泄漏。查看浏览器指纹识别并禁用 webrtc,并仔细查看 whoer.net。
最后,Chrome 和 Firefox 现在的测试版提供了无头支持。我相信 Linux 一直都是这样。 Mac 我对此不确定。
或者,如果您想使用无头浏览器,请尝试 phantom Js。尽管这正在被我上面提到的内容所取代。我相信有其他方法可以实现无头浏览,而无需安装较新版本的 Chrome 和 Firefox,尽管我不知道如何实现。
编辑:
以下是如何将代理与 Chrome 驱动程序一起使用的示例:
from selenium import webdriver
PROXY = "23.23.23.23:2323" # IP:PORT or HOST:PORT
chrome_options = webdriver.ChromeOptions()
chrome_options.add_argument('--proxy-server=%s' % PROXY)
chrome = webdriver.Chrome(chrome_options=chrome_options)
chrome.get("http://whatismyipaddress.com")
我在 Selenium 中尝试过这个,据我所知它有效。
这是公共代理的列表。https://free-proxy-list.net/。请注意,其中很多都不起作用,所以我不得不滚动浏览 3 个直到它们起作用。我认为没有必要更改代理的网络设置,只需使用上面的代码即可。
希望这有帮助。