1. 程式人生 > >九、學習爬蟲框架WebMagic(五)---為webmagic新增監控

九、學習爬蟲框架WebMagic(五)---為webmagic新增監控

(一)目的
  設定頁面下載成功、失敗的監聽器,方便失敗的時候做一些善後處理,比如把失敗的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); }