0
点赞
收藏
分享

微信扫一扫

九、学习爬虫框架WebMagic(五)---为webmagic添加监控

吓死我了_1799 2022-06-21 阅读 67

(一)目的
  设置页面下载成功、失败的监听器,方便失败的时候做一些善后处理,比如把失败的url再加入到爬取队列里面,这样就不会遗漏一些页面的爬取。
  通过设置Request.CYCLE_TRIED_TIMES设置失败重试次数,可以强制把url加到待爬队列里面,避免去重机制把url看成已爬过的。

(二)代码

private static void addSpiderListeners(Spider spider) {
ArrayList<SpiderListener> spiderListeners = new ArrayList<>();
spiderListeners.add(new SpiderListener() {
@Override
public void onSuccess(Request request) {

}

@Override
public void onError(Request request) {
Integer cycleTriedTimes = (Integer) request.getExtra(Request.CYCLE_TRIED_TIMES);
request.putExtra(Request.CYCLE_TRIED_TIMES, cycleTriedTimes == null ? 1 : cycleTriedTimes + 1);
spider.addRequest(request);
}
});
spider.setSpiderListeners(spiderListeners);
}


举报

相关推荐

0 条评论