单个网站仅使用 VPN 拒绝 selenium

A single website is denying selenium only with VPN

我正在尝试通过 VPN 使用 selenium 连接到 this 网站,但未成功。

奇怪的是,该网站确实会在具有相同 VPN 连接的普通浏览器中加载。更奇怪的是,我已经使用 selenium 通过 VPN 尝试了大约 100 个其他网站,而且所有网站都有效!疯了。

尝试连接时的具体错误信息是: 连接超时,服务器响应时间过长。这是我连续第二天尝试相同的结果。我也尝试过其他一些 VPN,但没有成功。没有 VPN,我可以使用 selenium 访问该网站,所以不知何故,selenium 和 VPN 的组合对于这 1 个网站来说是有问题的。

使用的 VPN 是 linux 上的 OpenVPN 2.4.4,它是使用 OpenSSL 1.1.1、tcp443 设置的。

我也尝试直接在 Selenium 中设置 VPN,但没有成功。如果有人知道为什么会发生这种情况,那将对我有很大帮助。谢谢

我了解网站发布的抓取政策,并相应地遵守这些政策。 robot.txt 文件明确指出某些页面可以通过适当的 crawl-delay.

进行抓取

我的问题的核心是网站如何仅在使用 selenium 时才能检测到 VPN。两者都没有被检测到。

我曾尝试使用请求库和多种类型的 headers 通过 VPN 访问此网页,但仍未成功。最后,我成功地使用 Chrome driver 而不是 Firefox 启动了 Selenium。这使我可以通过 VPN 访问该站点:

from selenium import webdriver
from selenium.webdriver.chrome.service import Service

service = Service('/mnt/wwn-0x5002538e00000000/chromedriver')
service.start()
driver = webdriver.Remote(service.service_url)
driver.get('http://www.url....');