diff --git a/webmagic-core/src/main/java/us/codecraft/webmagic/Site.java b/webmagic-core/src/main/java/us/codecraft/webmagic/Site.java index 2c6118c7..9ab97fe8 100644 --- a/webmagic-core/src/main/java/us/codecraft/webmagic/Site.java +++ b/webmagic-core/src/main/java/us/codecraft/webmagic/Site.java @@ -1,5 +1,7 @@ package us.codecraft.webmagic; +import us.codecraft.webmagic.utils.UrlUtils; + import java.util.*; /** @@ -90,6 +92,11 @@ public class Site { * @return 已设置的domain */ public String getDomain() { + if (domain == null) { + if (startUrls.size() > 0) { + domain = UrlUtils.getDomain(startUrls.get(0)); + } + } return domain; } @@ -150,6 +157,7 @@ public class Site { /** * 获取初始页面的地址列表 + * * @return 初始页面的地址列表 */ public List getStartUrls() { @@ -158,6 +166,7 @@ public class Site { /** * 增加初始页面的地址,可反复调用此方法增加多个初始地址。 + * * @param startUrl 初始页面的地址 * @return this */ @@ -179,6 +188,7 @@ public class Site { /** * 获取两次抓取之间的间隔 + * * @return 两次抓取之间的间隔,单位毫秒 */ public int getSleepTime() { @@ -187,6 +197,7 @@ public class Site { /** * 获取重新下载的次数,默认为0 + * * @return 重新下载的次数 */ public int getRetryTimes() { @@ -195,6 +206,7 @@ public class Site { /** * 设置获取重新下载的次数,默认为0 + * * @return this */ public Site setRetryTimes(int retryTimes) { @@ -219,7 +231,7 @@ public class Site { return true; } - public Task toTask(){ + public Task toTask() { return new Task() { @Override public String getUUID() { diff --git a/webmagic-samples/src/main/java/us/codecraft/webmagic/model/samples/OschinaBlog.java b/webmagic-samples/src/main/java/us/codecraft/webmagic/model/samples/OschinaBlog.java index 9f11d0e0..38cb41f0 100644 --- a/webmagic-samples/src/main/java/us/codecraft/webmagic/model/samples/OschinaBlog.java +++ b/webmagic-samples/src/main/java/us/codecraft/webmagic/model/samples/OschinaBlog.java @@ -4,6 +4,8 @@ import us.codecraft.webmagic.Site; import us.codecraft.webmagic.model.ExtractBy; import us.codecraft.webmagic.model.OOSpider; import us.codecraft.webmagic.model.TargetUrl; +import us.codecraft.webmagic.pipeline.ConsolePipeline; +import us.codecraft.webmagic.pipeline.JsonFilePipeline; /** * @author code4crafter@gmail.com
@@ -28,7 +30,7 @@ public class OschinaBlog implements Blog{ } public static void main(String[] args) { - OOSpider.create(Site.me().addStartUrl("http://my.oschina.net/flashsword/blog"), OschinaBlog.class).run(); + OOSpider.create(Site.me().addStartUrl("http://my.oschina.net/flashsword/blog"), OschinaBlog.class).pipeline(new ConsolePipeline()).pipeline(new JsonFilePipeline()).run(); } public String getTitle() {