View Javadoc
1   package us.codecraft.webmagic.samples;
2   
3   import us.codecraft.webmagic.Page;
4   import us.codecraft.webmagic.Site;
5   import us.codecraft.webmagic.Spider;
6   import us.codecraft.webmagic.processor.PageProcessor;
7   
8   import java.util.List;
9   
10  /**
11   * @author code4crafter@gmail.com <br>
12   * Date: 13-5-20
13   * Time: 下午5:31
14   */
15  public class MeicanProcessor implements PageProcessor {
16      @Override
17      public void process(Page page) {
18          //http://progressdaily.diandian.com/post/2013-01-24/40046867275
19          List<String> requests = page.getHtml().xpath("//a[@class=\"area_link flat_btn\"]/@href").all();
20          if (requests.size() > 2) {
21              requests = requests.subList(0, 2);
22          }
23          page.addTargetRequests(requests);
24          page.addTargetRequests(page.getHtml().links().regex("(.*/restaurant/[^#]+)").all());
25          page.putField("items", page.getHtml().xpath("//ul[@class=\"dishes menu_dishes\"]/li/span[@class=\"name\"]/text()"));
26          page.putField("prices", page.getHtml().xpath("//ul[@class=\"dishes menu_dishes\"]/li/span[@class=\"price_outer\"]/span[@class=\"price\"]/text()"));
27      }
28  
29      @Override
30      public Site getSite() {
31          return Site.me().setDomain("meican.com").setCharset("utf-8").
32                  setUserAgent("Mozilla/5.0 (Macintosh; Intel Mac OS X 10_7_2) AppleWebKit/537.31 (KHTML, like Gecko) Chrome/26.0.1410.65 Safari/537.31");
33      }
34  
35      public static void main(String[] args) {
36          Spider.create(new MeicanProcessor()).addUrl("http://www.meican.com/shanghai/districts").run();
37      }
38  }