首页 >后端开发 >Python教程 >使用 Python 中的 Selenium 绕过机器人检测软件

使用 Python 中的 Selenium 绕过机器人检测软件

Mary-Kate Olsen
Mary-Kate Olsen原创
2024-11-04 18:06:02397浏览

Bypassing Bot Detection Software with Selenium in Python

(使用风险自负,我不会纵容任何非法行为)

Amazon 等网站使用 Imperva 和 FingerprintJS 等机器人检测软件来阻止自动化工具与其网站交互。他们这样做是正确的,以防止网络爬虫和黑客窃取他们的宝贵数据。

如果他们知道...

如果您知道自己在做什么,那么很容易绕过这些安全控制。

我们可以通过几种方法绕过这些安全控制:

  • 轮换代理
  • 使用cookie
  • 轮换用户代理和 HTTP 标头
  • 网络驱动程序中的远程 Javascript 签名(我们很快就会探索这个!?)
  • 与网站交互时避免模式

如果您正在使用 Selenium 并且您被自动化软件阻止。

我们可以实现一个小技巧,可以省去设置旋转代理、标头或用户代理的麻烦。

禁用 Selenium 自动化标志

但是这里有另一种更简单的方法可以解决这个问题 - 禁用 Selenium 的自动化标志。

Selenium 默认启用自动化标志,这可能会阻止您使用反机器人软件访问网站。

要绕过该块,您必须在 Selenium 代码中禁用这些自动化标志,让我们看看如何使用简单的一个衬垫来做到这一点。

首先,我们调用 webdriver.Chromeoptions() 函数并将其实例化为一个名为 options 的变量。

这使我们能够向网络驱动程序添加自定义选项:

选项= webdriver.ChromeOptions

现在,让我们通过将以下行添加到我们的 Selenium 代码中来添加禁用自动化标志的选项:

options.add_argument("--disable-blink-features=AutomationControlled")

这个简单的一行代码会禁用自动化标志,并告诉网站您不是机器人。

以上是使用 Python 中的 Selenium 绕过机器人检测软件的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn