fix a null domain error

master
yihua.huang 2013-08-06 22:43:31 +08:00
parent f413450403
commit 5c96407a3d
2 changed files with 16 additions and 2 deletions

View File

@ -1,5 +1,7 @@
package us.codecraft.webmagic; package us.codecraft.webmagic;
import us.codecraft.webmagic.utils.UrlUtils;
import java.util.*; import java.util.*;
/** /**
@ -90,6 +92,11 @@ public class Site {
* @return domain * @return domain
*/ */
public String getDomain() { public String getDomain() {
if (domain == null) {
if (startUrls.size() > 0) {
domain = UrlUtils.getDomain(startUrls.get(0));
}
}
return domain; return domain;
} }
@ -150,6 +157,7 @@ public class Site {
/** /**
* *
*
* @return * @return
*/ */
public List<String> getStartUrls() { public List<String> getStartUrls() {
@ -158,6 +166,7 @@ public class Site {
/** /**
* *
*
* @param startUrl * @param startUrl
* @return this * @return this
*/ */
@ -179,6 +188,7 @@ public class Site {
/** /**
* *
*
* @return * @return
*/ */
public int getSleepTime() { public int getSleepTime() {
@ -187,6 +197,7 @@ public class Site {
/** /**
* 0 * 0
*
* @return * @return
*/ */
public int getRetryTimes() { public int getRetryTimes() {
@ -195,6 +206,7 @@ public class Site {
/** /**
* 0 * 0
*
* @return this * @return this
*/ */
public Site setRetryTimes(int retryTimes) { public Site setRetryTimes(int retryTimes) {
@ -219,7 +231,7 @@ public class Site {
return true; return true;
} }
public Task toTask(){ public Task toTask() {
return new Task() { return new Task() {
@Override @Override
public String getUUID() { public String getUUID() {

View File

@ -4,6 +4,8 @@ import us.codecraft.webmagic.Site;
import us.codecraft.webmagic.model.ExtractBy; import us.codecraft.webmagic.model.ExtractBy;
import us.codecraft.webmagic.model.OOSpider; import us.codecraft.webmagic.model.OOSpider;
import us.codecraft.webmagic.model.TargetUrl; import us.codecraft.webmagic.model.TargetUrl;
import us.codecraft.webmagic.pipeline.ConsolePipeline;
import us.codecraft.webmagic.pipeline.JsonFilePipeline;
/** /**
* @author code4crafter@gmail.com <br> * @author code4crafter@gmail.com <br>
@ -28,7 +30,7 @@ public class OschinaBlog implements Blog{
} }
public static void main(String[] args) { 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() { public String getTitle() {