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

 更新时间:2014年04月17日 09:19:01   作者:  
这篇文章主要介绍了使用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;
 }
}

相关文章

  • spring如何加载配置多个配置文件

    spring如何加载配置多个配置文件

    这篇文章主要介绍了spring如何加载配置多个配置文件,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-11-11
  • SpringBoot使用SOFA-Lookout监控的方法

    SpringBoot使用SOFA-Lookout监控的方法

    本文介绍SpringBoot使用蚂蚁金服SOFA-Lookout配合Prometheus进行监控,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-03-03
  • java程序中的延时加载异常及解决方案

    java程序中的延时加载异常及解决方案

    这篇文章主要介绍了java程序中的延时加载异常及解决方案,需要的朋友可以参考下
    2015-02-02
  • java构造函数示例(构造方法)

    java构造函数示例(构造方法)

    这篇文章主要介绍了java构造函数示例(构造方法),需要的朋友可以参考下
    2014-03-03
  • SpringBoot浅析安全管理之Shiro框架

    SpringBoot浅析安全管理之Shiro框架

    安全管理是软件系统必不可少的的功能。根据经典的“墨菲定律”——凡是可能,总会发生。如果系统存在安全隐患,最终必然会出现问题,这篇文章主要介绍了SpringBoot安全管理Shiro框架的使用
    2022-08-08
  • Mybatis动态SQL之if、choose、where、set、trim、foreach标记实例详解

    Mybatis动态SQL之if、choose、where、set、trim、foreach标记实例详解

    动态SQL就是动态的生成SQL。接下来通过本文给大家介绍Mybatis动态SQL之if、choose、where、set、trim、foreach标记实例详解的相关知识,感兴趣的朋友一起看看吧
    2016-09-09
  • Spring Security 核心过滤器链讲解

    Spring Security 核心过滤器链讲解

    这篇文章主要介绍了Spring Security 核心过滤器链,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-12-12
  • JAVA解决在@autowired,@Resource注入为null的情况

    JAVA解决在@autowired,@Resource注入为null的情况

    这篇文章主要介绍了JAVA解决在@autowired,@Resource注入为null的情况,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-10-10
  • 基于Java汇总Spock框架Mock静态资源经验

    基于Java汇总Spock框架Mock静态资源经验

    这篇文章主要介绍了基于Java汇总Spock框架Mock静态资源经验,前面讲了 Spock框架Mock对象、方法经验总结,今天分享一下Spock框架中Mock静态资源的实践经验汇总。分成静态资源和混合场景,需要的朋友可以参考一下
    2022-02-02
  • Spring Cloud学习教程之Zuul统一异常处理与回退

    Spring Cloud学习教程之Zuul统一异常处理与回退

    Spring Cloud Zuul对异常的处理整体来说还是比较方便的,流程也比较清晰,下面这篇文章主要给大家介绍了关于Spring Cloud学习教程之Zuul统一异常处理与回退的相关资料,文中通过示例代码介绍的非常详细,需要的朋友可以参考借鉴,下面随着小编来一起学习学习吧。
    2018-04-04

最新评论