我正在使用API对网站进行完全抓取,我得到了很多:
{ " errorType":" ServerErrorException", "错误":" ServerErrorException:服务器错误。 (HTTP 500)" }
此外,我收到超时响应,实际的http失败:StatusCode: 504, ReasonPhrase: 'GATEWAY_TIMEOUT'
我正在浏览我同时抓取的网站,它似乎仍然快速响应,没有减速。
我从我的代码中删除了多线程并同步运行,这会停止500个错误,但它仍然会产生很多超时(并且需要很长时间)。
我的多线程运行少于100个并发连接。太多了吗?我想把它推到1000+。我是否需要在请求之间添加一些延迟?
答案 0 :(得分:3)
您看到的错误表示您尝试抓取的网站向您发送了500个。
您获得的504网关超时将是因为您可能在请求过多的情况下访问import.io。
我会减慢您的抓取速度,也许会在请求之间设置延迟。
如果您抓取大量网页,则必须尊重您抓取的网站可能无法在短时间内处理大量传入请求。
我建议你慢慢开始增加,直到你开始看到错误/超时。一旦你开始看到一些错误,慢一点。
抓取整个网站可能是一个缓慢的过程。