(一)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):暂时并为发现会有什么作用!!!