HTTP 提取 Url,状态 =429

HTTP fetching Url, Status=429

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

TL;DR

您已被限速。


Is there any solution to this problem?

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

    1. 是否允许抓取
    2. 如果允许,什么请求率是可以接受的。
  2. 如果 1.1 是 "no",请停止抓取网站。

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

Or a way to detect the error before it happens?

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