View Javadoc
1   package us.codecraft.webmagic.downloader;
2   
3   import us.codecraft.webmagic.Page;
4   import us.codecraft.webmagic.Request;
5   import us.codecraft.webmagic.Site;
6   import us.codecraft.webmagic.Task;
7   import us.codecraft.webmagic.selector.Html;
8   
9   /**
10   * Base class of downloader with some common methods.
11   *
12   * @author code4crafter@gmail.com
13   * @since 0.5.0
14   */
15  public abstract class AbstractDownloader implements Downloader {
16  
17      /**
18       * A simple method to download a url.
19       *
20       * @param url url
21       * @return html
22       */
23      public Html download(String url) {
24          return download(url, null);
25      }
26  
27      /**
28       * A simple method to download a url.
29       *
30       * @param url     url
31       * @param charset charset
32       * @return html
33       */
34      public Html download(String url, String charset) {
35          Page page = download(new Request(url), Site.me().setCharset(charset).toTask());
36          return (Html) page.getHtml();
37      }
38  
39      /**
40       * @param request the {@link Request}.
41       * @deprecated Use {@link #onSuccess(Page, Task)} instead.
42       */
43      @Deprecated
44      protected void onSuccess(Request request) {
45      }
46  
47      /**
48       * @param request the {@link Request}.
49       * @param task the {@link Task}.
50       * @since 0.7.6
51       * @deprecated Use {@link #onSuccess(Page, Task)} instead.
52       */
53      @Deprecated
54      protected void onSuccess(Request request, Task task) {
55          this.onSuccess(request);
56      }
57  
58      /**
59       * @param page the {@link Page}.
60       * @param task the {@link Task}.
61       * @since 0.10.0
62       */
63      protected void onSuccess(Page page, Task task) {
64          this.onSuccess(page.getRequest(), task);
65      }
66  
67      /**
68       * @param request the {@link Request}.
69       * @deprecated Use {@link #onError(Page, Task, Throwable)} instead.
70       */
71      @Deprecated
72      protected void onError(Request request) {
73      }
74  
75      /**
76       * @param request the {@link Request}.
77       * @param task the {@link Task}.
78       * @param e the exception.
79       * @since 0.7.6
80       * @deprecated Use {@link #onError(Page, Task, Throwable)} instead.
81       */
82      @Deprecated
83      protected void onError(Request request, Task task, Throwable e) {
84          this.onError(request);
85      }
86  
87      /**
88       * @param page the {@link Page}.
89       * @param task the {@link Task}.
90       * @param e the exception.
91       * @since 0.10.0
92       */
93      protected void onError(Page page, Task task, Throwable e) {
94          this.onError(page.getRequest(), task, e);
95      }
96  
97  }