commit
b2aa5e2677
|
@ -1,5 +1,6 @@
|
|||
package us.codecraft.webmagic;
|
||||
|
||||
import us.codecraft.webmagic.downloader.Downloader;
|
||||
import us.codecraft.webmagic.model.HttpRequestBody;
|
||||
import us.codecraft.webmagic.utils.Experimental;
|
||||
|
||||
|
@ -26,6 +27,11 @@ public class Request implements Serializable {
|
|||
|
||||
private HttpRequestBody requestBody;
|
||||
|
||||
/**
|
||||
* this req use this downloader
|
||||
*/
|
||||
private Downloader downloader;
|
||||
|
||||
/**
|
||||
* Store additional information in extras.
|
||||
*/
|
||||
|
@ -175,6 +181,14 @@ public class Request implements Serializable {
|
|||
return binaryContent;
|
||||
}
|
||||
|
||||
public Downloader getDownloader() {
|
||||
return downloader;
|
||||
}
|
||||
|
||||
public void setDownloader(Downloader downloader) {
|
||||
this.downloader = downloader;
|
||||
}
|
||||
|
||||
public Request setBinaryContent(boolean binaryContent) {
|
||||
this.binaryContent = binaryContent;
|
||||
return this;
|
||||
|
|
|
@ -401,7 +401,12 @@ public class Spider implements Runnable, Task {
|
|||
}
|
||||
|
||||
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()){
|
||||
onDownloadSuccess(request, page);
|
||||
} else {
|
||||
|
|
Loading…
Reference in New Issue