如何使用 Python 绕过速率限制 ..HTML 错误 1015
How to bypass being rate limited ..HTML Error 1015 using Python
所以我创建了一个自动化机器人来在互联网上为我做一些事情..使用 Selenium Python..经过长时间的编码会议..我在这个项目上工作了几天几夜终于完成了...只是随机收到错误 1015“您的速率受到限制”。
我理解这是为了防止DDOS攻击。但却是一个重大的打击。
我已联系该网站解决问题但无济于事..但他们使用的第三方安全软件说他们网站可以授予我的 ip 排除速率限制。
所以我想知道有没有其他方法可以绕过这个..也许从编码的角度来看......
我不认为像清除 cookie 这样的东西会解决任何问题..或者会因为他们阻止的是我的特定 ip 地址
注意:
我 运行 正在使用我的机器人的网站的 TofC 并没有说你不能在上面使用自动化软件..但它也没有说你也不能。
我不介意再编写一些代码来防止随机访问被拒绝......我认为这会持续 24 小时,这可能是有害的,因为此构建的最后阶段是让我的程序每天 运行很长一段时间。
你认为我可以与第三方安全沟通,要求他们要求网站授予我访问权限..我已经尝试通过网站解决问题。他们只说 A。那边说我很好
B. 问题很可能出在我这边..“也许一些恶意软件正试图访问我们的网站”这.. 恶意不是但机器人是。这就是让我觉得如果我自己解决这个问题可能会更好。
你认为我可能必须在进程之间实现等待时间之类的。我卡住了。
感谢您的帮助。而且它是一个机器人!
我在这里看到了一些适合您的可能性:
- 引入站点请求之间的等待时间
- 减少您提出的要求
- 扩展您的机器人以检测它何时达到限制并更改您的 IP 地址(例如,通过重新启动您的路由器)
最后一个是我认为最不受欢迎的,也是最耗时的。
第一:阅读网站的使用条款,比如看robots.txt,一般是在网站的根目录,比如www.google.com/robots.txt。请注意,根据司法管辖区,违反网站所有者的明确条款可能是非法的,并可能导致所有者阻止您的工具 and/or ip.
https://www.robotstxt.org/robotstxt.html
这会让您知道网站所有者明确允许自动化和抓取的内容。
在您查看网站的条款并了解他们允许的内容、他们没有回复您并且您确定您没有违反网站的使用条款之后,唯一真正的其他选择是利用代理 and/or 将为系统提供 运行 脚本不同 IP 的 VPS。
如果你随机问候...
...表示网站所有者实施的 Rate Limiting 会影响您的访问者流量。
限速原因
Cloudflare can rate-limit the the visitor traffic trying to counter a possible Dictionary attack.
速率限制阈值
在一般情况下,Cloudflare 在访问者流量超过速率限制阈值时对访问者进行速率限制,该阈值的计算方法是,将 24 小时未缓存的网站请求除以唯一身份访问者同样的 24 小时。然后,除以估计的平均访问分钟数。最后,乘以 4(或更大)来为您的网站建立每分钟的估计阈值。高于 4 的值很好,因为大多数攻击都比典型流量速率高出一个数量级。
解决方案
在这些情况下,一个潜在的解决方案是使用 undetected-chromedriver 来初始化 Chrome 浏览上下文 .
undetected-chromedriver 是经过优化的 Selenium Chrome 驱动程序补丁,它不会触发像 Distill Network / Imperva / DataDome / Botprotect.io 这样的反机器人服务。它会自动下载驱动程序二进制文件并对其进行修补。
代码块:
import undetected_chromedriver as uc
from selenium import webdriver
options = webdriver.ChromeOptions()
options.add_argument("start-maximized")
driver = uc.Chrome(options=options)
driver.get('https://bet365.com')
参考资料
您可以在以下位置找到一些相关的详细讨论:
- Selenium app redirect to Cloudflare page when hosted on Heroku
- Linkedin API throttle limit
所以我创建了一个自动化机器人来在互联网上为我做一些事情..使用 Selenium Python..经过长时间的编码会议..我在这个项目上工作了几天几夜终于完成了...只是随机收到错误 1015“您的速率受到限制”。
我理解这是为了防止DDOS攻击。但却是一个重大的打击。
我已联系该网站解决问题但无济于事..但他们使用的第三方安全软件说他们网站可以授予我的 ip 排除速率限制。
所以我想知道有没有其他方法可以绕过这个..也许从编码的角度来看...... 我不认为像清除 cookie 这样的东西会解决任何问题..或者会因为他们阻止的是我的特定 ip 地址
注意: 我 运行 正在使用我的机器人的网站的 TofC 并没有说你不能在上面使用自动化软件..但它也没有说你也不能。
我不介意再编写一些代码来防止随机访问被拒绝......我认为这会持续 24 小时,这可能是有害的,因为此构建的最后阶段是让我的程序每天 运行很长一段时间。
你认为我可以与第三方安全沟通,要求他们要求网站授予我访问权限..我已经尝试通过网站解决问题。他们只说 A。那边说我很好 B. 问题很可能出在我这边..“也许一些恶意软件正试图访问我们的网站”这.. 恶意不是但机器人是。这就是让我觉得如果我自己解决这个问题可能会更好。
你认为我可能必须在进程之间实现等待时间之类的。我卡住了。
感谢您的帮助。而且它是一个机器人!
我在这里看到了一些适合您的可能性:
- 引入站点请求之间的等待时间
- 减少您提出的要求
- 扩展您的机器人以检测它何时达到限制并更改您的 IP 地址(例如,通过重新启动您的路由器)
最后一个是我认为最不受欢迎的,也是最耗时的。
第一:阅读网站的使用条款,比如看robots.txt,一般是在网站的根目录,比如www.google.com/robots.txt。请注意,根据司法管辖区,违反网站所有者的明确条款可能是非法的,并可能导致所有者阻止您的工具 and/or ip.
https://www.robotstxt.org/robotstxt.html
这会让您知道网站所有者明确允许自动化和抓取的内容。
在您查看网站的条款并了解他们允许的内容、他们没有回复您并且您确定您没有违反网站的使用条款之后,唯一真正的其他选择是利用代理 and/or 将为系统提供 运行 脚本不同 IP 的 VPS。
如果你随机问候...
...表示网站所有者实施的 Rate Limiting 会影响您的访问者流量。
限速原因
Cloudflare can rate-limit the the visitor traffic trying to counter a possible Dictionary attack.
速率限制阈值
在一般情况下,Cloudflare 在访问者流量超过速率限制阈值时对访问者进行速率限制,该阈值的计算方法是,将 24 小时未缓存的网站请求除以唯一身份访问者同样的 24 小时。然后,除以估计的平均访问分钟数。最后,乘以 4(或更大)来为您的网站建立每分钟的估计阈值。高于 4 的值很好,因为大多数攻击都比典型流量速率高出一个数量级。
解决方案
在这些情况下,一个潜在的解决方案是使用 undetected-chromedriver 来初始化 Chrome 浏览上下文 .
undetected-chromedriver 是经过优化的 Selenium Chrome 驱动程序补丁,它不会触发像 Distill Network / Imperva / DataDome / Botprotect.io 这样的反机器人服务。它会自动下载驱动程序二进制文件并对其进行修补。
代码块:
import undetected_chromedriver as uc from selenium import webdriver options = webdriver.ChromeOptions() options.add_argument("start-maximized") driver = uc.Chrome(options=options) driver.get('https://bet365.com')
参考资料
您可以在以下位置找到一些相关的详细讨论:
- Selenium app redirect to Cloudflare page when hosted on Heroku
- Linkedin API throttle limit