webmagic icon indicating copy to clipboard operation
webmagic copied to clipboard

关于请求丢失的问题

Open GG22G2 opened this issue 4 years ago • 1 comments

我今天在使用免费代理,正常应该是要爬取1000个页面,结果只爬取了几十个。 最后发现是因为代理质量查,经常导致请求后返回400状态码,响应体也是错误的。但其实不用代理就能返回正确内容。

我原本以为这样的情况一定会走重试机制,但最后发现是,HttpClientDownloader中不论htttp请求的响应体状态码是200或400,只要请求没有报错。那么Page.downloadSuccess就置为true。us.codecraft.webmagic.Spider#processRequest中只要downloadSuccess为true,就不会走重试的分支。

GG22G2 avatar Jan 05 '22 14:01 GG22G2

我之前是 extends us.codecraft.webmagic.downloader.HttpClientDownloader,并us.codecraft.webmagic.Spider.setDownloader(Downloader),修改了us.codecraft.webmagic.downloader.HttpClientDownloader.download(Request, Task)的行为。

sutra avatar Jan 05 '22 15:01 sutra