当前位置: 首页 > 知识库问答 >
问题:

加载资源失败:服务器通过Selenium用ChromeDriver Chrome响应状态为429(请求太多)和404(找不到)

子车新立
2023-03-14

以下是我从WebDriver获得的错误日志:

{'level': 'SEVERE', 'message': 'https://shop.coles.com.au/a/a-nsw-metro-rouse-hill/everything/browse/baby/nappies-changing?pageNumber=1 - Failed to load resource: the server responded with a status of 429 (Too Many Requests)', 'source': 'network', 'timestamp': 1556997743637}

{'level': 'SEVERE', 'message': 'about:blank - Failed to load resource: net::ERR_UNKNOWN_URL_SCHEME', 'source': 'network', 'timestamp': 1556997745338}

{'level': 'SEVERE', 'message': 'https://shop.coles.com.au/149e9513-01fa-4fb0-aad4-566afd725d1b/2d206a39-8ed7-437e-a3be-862e0f06eea3/fingerprint - Failed to load resource: the server responded with a status of 404 (Not Found)', 'source': 'network', 'timestamp': 1556997748339}

我的脚本:

from selenium import webdriver
import os

path = os.path.join(os.getcwd(), 'chromedriver')
driver = webdriver.Chrome(executable_path=path)

links = [
    "https://shop.coles.com.au/a/a-nsw-metro-rouse-hill/everything/browse/baby/nappies-changing?pageNumber=1",
    "https://shop.coles.com.au/a/a-nsw-metro-rouse-hill/everything/browse/baby/baby-accessories?pageNumber=1",
    "https://shop.coles.com.au/a/a-nsw-metro-rouse-hill/everything/browse/baby/food?pageNumber=1",
    "https://shop.coles.com.au/a/a-nsw-metro-rouse-hill/everything/browse/baby/formula?pageNumber=1",
]


for link in links:
    driver.get(link)

共有1个答案

单于承
2023-03-14

HTTP 429太多请求响应状态代码指示用户在给定时间内发送了太多请求(“速率限制”)。响应表示应该包括解释条件的详细信息,并且可以包括retry-after标头,指示在发出新请求之前要等待多长时间。

当服务器受到攻击或仅接收来自单个方的大量请求时,使用429状态代码响应每个请求将消耗资源。因此,不要求服务器使用429状态代码;当限制资源使用时,仅删除连接或采取其他步骤可能更合适。

HTTP 404未找到客户端错误响应代码表示服务器找不到请求的资源。在浏览器中,这意味着无法识别URL。在API中,这也可能意味着endpoint有效,但资源本身不存在。服务器也可以发送此响应而不是403,以向未经授权的客户端隐藏资源的存在。这个响应代码可能是最著名的一个,因为它经常出现在Web上。

    null

dist一词的出现清楚地表明,该网站受到机器人管理服务提供商Distil Networks的保护,ChromeDriver的导航被检测到并随后被阻止。

根据这篇文章,确实有关于蒸馏的东西。它...:

Distil通过观察站点行为和识别刮刮器特有的模式来保护站点免受自动内容刮刮机器人的攻击。当Distil在一个站点上识别出恶意机器人时,它会创建一个黑名单行为配置文件,并将其部署到所有客户。类似于机器人防火墙的东西,Distil检测模式并做出反应。

    null
 类似资料:
  • 问题内容: 我正在尝试在python中使用selenium构建刮板。Selenium Webdriver打开窗口并尝试加载页面,但突然停止加载。我可以在本地chrome浏览器中访问相同的链接。 这是我从网络驱动程序获得的错误日志: 我的剧本: 问题答案: 429请求太多 HTTP 429太多请求响应状态代码指示用户在给定的时间内发送了太多请求(“速率限制”)。响应表示应包含说明条件的详细信息,并且

  • 我正在学习Lynda关于Javascript和Ajax以及hungup的教程,主题是“使用同步XHR请求”。 html文件基本上是: javascript文件为: data.txt文件上有“Hello World”。 项目文件的路径为 当我打开wampserver上的localhost并执行inspect元素时,我得到了上面的错误:“未能加载资源:服务器响应状态为404(not found)” 不

  • 我正在运行一个spring MVC应用程序,下面是我的项目结构。 在我的中,我尝试在header部分加载js。 但我在浏览器中发现了以下错误。 在我的spring文件中,我添加了 有人能指出我犯的错误吗?

  • 我有angular 6应用程序在我的本地机器上,一切都按照我想要的完美工作,完成项目后我将其部署到heroku,当我运行我的应用程序时,这里是指向heroku中应用程序的链接:测试应用程序 正如您所看到的,我在控制台浏览器中遇到以下错误 加载资源失败:服务器响应状态为404(未找到) 这是我在github中的应用程序结构 github中的应用程序回购 为了快速参考,这里是服务器。js 这是hero

  • 我完全新的ReactJS。 我在YouTube遵循这个教程,遵循每个步骤。 直到我发现我的代码出现了这样的错误 因为我刚开始编程ReactJS,我仍然不明白该做什么,以及如何修复这个问题 本教程展示了如何构建一个简单的CRUD应用程序,内置于ReactJS和PostgreSQL 这里我提供我的应用程序。js代码 这是我的server.js代码: 我该怎么办?任何建议都能帮我解决这个问题 非常感谢。

  • 我在浏览器中收到错误消息“加载资源失败:服务器响应状态为404”,我正在使用Node/Express、Mongo数据库和Docker。没有Docker一切正常。 文件夹结构: 后端 服务器 服务器。js公司 src公司 索引。html server.js 指数html 包裹json{脚本} 文档文件 docker编写。yml公司 如果我在浏览器中输入“192.168.99.100:3000/gal