1.1K Star 3.6K Fork 1.4K

GVP黄亿华 / webmagic

下载失败后,流程/逻辑不正确。

Backlog
Sel  Opened this issue

Spider的run()方法。

try {
    processRequest(request);
    onSuccess(request);
} catch (Exception e) {
    onError(request);
    logger.error("process request " + request + " error", e);
} finally {
    pageCount.incrementAndGet();
    signalNewUrl();
}

其中的processRequest方法中通过Page的downloadSuccess来判断下载是否成功。

private void processRequest(Request request) {
    Page page = downloader.download(request, this);
    if (page.isDownloadSuccess()){
        onDownloadSuccess(request, page);
    } else {
        onDownloaderFail(request);
    }
}

这一属性,只在HttpClientDownloader中设置了。但PhantomJSDownloader并没有修改(始终为true)。

Downloader下载失败后,pageCount也会增加,显示Spider xxx closed! N pages downloaded.其中,N=cycleRetryTimes。

同时,RedisScheduler中已有标记,导致再次启动同一任务后,会被去重(失败的任务,应当消除标记)。

rocket 1
380864 sel 1578922096 total 1 participants

Comments (0)

Sign in to comment

Assignees
Labels
Not set
Projects
Milestones
Branches
Planed to start
Not set
Planed to end
Not set
Top level
Priority
Java
1
https://gitee.com/flashsword20/webmagic.git
git@gitee.com:flashsword20/webmagic.git
flashsword20
webmagic
webmagic

Search