子任务可以使用不同的下载器。。。
parent
4b902270b4
commit
fc7ae9ce28
|
@ -1,5 +1,6 @@
|
||||||
package us.codecraft.webmagic;
|
package us.codecraft.webmagic;
|
||||||
|
|
||||||
|
import us.codecraft.webmagic.downloader.Downloader;
|
||||||
import us.codecraft.webmagic.model.HttpRequestBody;
|
import us.codecraft.webmagic.model.HttpRequestBody;
|
||||||
import us.codecraft.webmagic.utils.Experimental;
|
import us.codecraft.webmagic.utils.Experimental;
|
||||||
|
|
||||||
|
@ -26,6 +27,11 @@ public class Request implements Serializable {
|
||||||
|
|
||||||
private HttpRequestBody requestBody;
|
private HttpRequestBody requestBody;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* this req use this downloader
|
||||||
|
*/
|
||||||
|
private Downloader downloader;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Store additional information in extras.
|
* Store additional information in extras.
|
||||||
*/
|
*/
|
||||||
|
@ -175,6 +181,14 @@ public class Request implements Serializable {
|
||||||
return binaryContent;
|
return binaryContent;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
public Downloader getDownloader() {
|
||||||
|
return downloader;
|
||||||
|
}
|
||||||
|
|
||||||
|
public void setDownloader(Downloader downloader) {
|
||||||
|
this.downloader = downloader;
|
||||||
|
}
|
||||||
|
|
||||||
public Request setBinaryContent(boolean binaryContent) {
|
public Request setBinaryContent(boolean binaryContent) {
|
||||||
this.binaryContent = binaryContent;
|
this.binaryContent = binaryContent;
|
||||||
return this;
|
return this;
|
||||||
|
|
|
@ -401,7 +401,12 @@ public class Spider implements Runnable, Task {
|
||||||
}
|
}
|
||||||
|
|
||||||
private void processRequest(Request request) {
|
private void processRequest(Request request) {
|
||||||
Page page = downloader.download(request, this);
|
Page page;
|
||||||
|
if (null != request.getDownloader()){
|
||||||
|
page = request.getDownloader().download(request,this);
|
||||||
|
}else {
|
||||||
|
page = downloader.download(request, this);
|
||||||
|
}
|
||||||
if (page.isDownloadSuccess()){
|
if (page.isDownloadSuccess()){
|
||||||
onDownloadSuccess(request, page);
|
onDownloadSuccess(request, page);
|
||||||
} else {
|
} else {
|
||||||
|
|
Loading…
Reference in New Issue