2

我正在使用 API 对网站进行全面爬网,我得到了很多:

{“errorType”:“ServerErrorException”,“error”:“ServerErrorException:服务器错误。(HTTP 500)”}

我也收到超时响应并且实际的 http 失败:StatusCode: 504, ReasonPhrase: 'GATEWAY_TIMEOUT'

我正在浏览我正在同时抓取的网站,它似乎仍然快速且响应迅速,没有减速。

我从我的代码中删除了多线程并同步运行,这会停止 500 个错误,但它仍然会产生很多超时(并且需要很长时间)。

我的多线程运行的并发连接少于 100 个。是不是太多了?我想把它推到1000+。我需要在请求之间添加一些延迟吗?

4

1 回答 1

3

您看到的错误表明您尝试抓取的网站正在向您发送 500 条信息。

您获得的 504 网关超时将是因为您可能使用太多请求访问 import.io。

我会减慢您的爬行速度,也许会在请求之间设置延迟。

如果您要抓取大量页面,则必须尊重您正在抓取的网站可能无法在短时间内处理大量传入请求。

我建议开始缓慢并增加,直到您开始看到错误/超时。一旦你开始看到一些错误,放慢一点。

抓取整个网站可能是一个缓慢的过程。

于 2015-05-13T08:18:32.320 回答