(一)Site.sleepTime的设置问题
Webmagic 框架默认的休眠时间为5000(5s),我看网上一般设置为1000(1s),经实际验证,若休眠时间过短,在多线程访问页面时,会报大量的403错误,所以这里在爬取线程过多时,不妨就用框架默认的休眠时间。
(二)page.setSkip()
Webmagic通过 Processor
和 Pipeline
组件,将爬取页面和爬取之后的业务逻辑进行了分离,若需要业务处理的 Page
,则进入 Pipeline
中,无需业务处理的 Page
,则可通过设置 page.setSkip()
,来避免进入 Pipeline
中。
(三)setCycleRetryTimes(int cycleRetryTimes)和setRetryTimes(int retryTimes)区别
- setCycleRetryTimes(int cycleRetryTimes):下载失败,会重新尝试
- setRetryTimes(int retryTimes):暂时并为发现会有什么作用!!!