Skip to content

Commit 1fc8e10

Browse files
committed
add cycle retry
1 parent 891d845 commit 1fc8e10

File tree

2 files changed

+9
-2
lines changed

2 files changed

+9
-2
lines changed

webmagic-core/src/main/java/us/codecraft/webmagic/Spider.java

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -310,6 +310,12 @@ protected void processRequest(Request request) {
310310
sleep(site.getSleepTime());
311311
return;
312312
}
313+
//for cycle retry
314+
if (page.getHtml()==null){
315+
addRequest(page);
316+
sleep(site.getSleepTime());
317+
return;
318+
}
313319
pageProcessor.process(page);
314320
addRequest(page);
315321
if (!page.getResultItems().isSkip()) {

webmagic-samples/src/main/java/us/codecraft/webmagic/samples/F58PageProcesser.java

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
import us.codecraft.webmagic.Page;
55
import us.codecraft.webmagic.Spider;
66
import us.codecraft.webmagic.processor.PageProcessor;
7+
import us.codecraft.webmagic.scheduler.RedisScheduler;
78

89
import java.util.List;
910

@@ -24,10 +25,10 @@ public void process(Page page) {
2425

2526
@Override
2627
public Site getSite() {
27-
return Site.me().setDomain("sh.58.com").addStartUrl("http://sh.58.com/"); //To change body of implemented methods use File | Settings | File Templates.
28+
return Site.me().setDomain("sh.58.com").addStartUrl("http://sh1.51a8.com/").setCycleRetryTimes(2); //To change body of implemented methods use File | Settings | File Templates.
2829
}
2930

3031
public static void main(String[] args) {
31-
Spider.create(new F58PageProcesser()).run();
32+
Spider.create(new F58PageProcesser()).setScheduler(new RedisScheduler("localhost")).run();
3233
}
3334
}

0 commit comments

Comments
 (0)