服务器之家:专注于VPS、云服务器配置技术及软件下载分享
分类导航

PHP教程|ASP.NET教程|Java教程|ASP教程|编程技术|正则表达式|C/C++|IOS|C#|Swift|Android|VB|R语言|JavaScript|易语言|vb.net|

服务器之家 - 编程语言 - Java教程 - 使用webmagic实现爬虫程序示例分享

使用webmagic实现爬虫程序示例分享

2019-11-19 14:41Java教程网 Java教程

这篇文章主要介绍了使用webmagic实现爬虫程序示例,需要的朋友可以参考下

代码如下:


package com.letv.cloud.spider;

 

import java.util.HashSet;
import java.util.List;

import us.codecraft.webmagic.Page;
import us.codecraft.webmagic.Site;
import us.codecraft.webmagic.Spider;
import us.codecraft.webmagic.processor.PageProcessor;

public class MoviePaperPageProcessor implements PageProcessor {
 private Site page = Site.me().setRetryTimes(3).setSleepTime(1000);

 public Site getSite() {
  return page;
 }

 public void process(Page page) {
  List<String> links = page.getHtml().links().regex(
    "http://posters.aa.com/poster/\\d+").all();
  links = removeDuplicate(links);
  page.addTargetRequests(links);
  page.putField("title", page.getHtml().xpath(
    "//div[@id='imdbleftsecc']/center/h1/text()").toString());
  page.putField("imgurl", page.getHtml().xpath(
    "//div[@id='imdbleftsecc']/center/img/@src").toString());
 }

 public static void main(String[] args) {
  for (int i = 1; i <= 3; i++) {
   Spider.create(new MoviePaperPageProcessor()).addUrl(
     "http://posters.aa.co/poster_page/" + i).thread(5).run();
  }
 }

 public static List removeDuplicate(List list) {
  HashSet hs = new HashSet(list);
  list.clear();
  list.addAll(hs);
  return list;
 }
}

 

延伸 · 阅读

精彩推荐