首页 > 解决方案 > HTTP 获取 URL,状态 = 429

问题描述

Org.jsoup.HttpStatusException:获取 URL 的 HTTP 错误。状态 = 429 显示我一次解析 900 个 url 时......并且消息会停留一段时间,比如 1 小时或更长时间......这个问题有什么解决方案吗?或者在haening之前检测错误的方法?

标签: javaparsingjsouphttp-status-code-429

解决方案


TL;博士

您已受到速率限制。


这个问题有什么解决办法吗?

  1. 阅读您正在抓取的网站的条款和条件以了解:

    1. 是否允许刮擦
    2. 如果允许,什么请求率是可以接受的。
  2. 如果 1.1 为“否”,请停止尝试抓取该站点。

  3. 否则,请实施您的代码以保持在规定的速率限制之下。例如,当您的爬虫达到允许的请求限制时,拥有它sleep,然后在下一个计量时间段内继续发送请求。

还是一种在错误发生之前检测到错误的方法?

不会。除了 429 响应之外,该站点很可能不会给您任何指示。(但您可以查看他们的文档....)


推荐阅读