作家
登录

设计和实现一款轻量级的爬虫框架

作者: 来源: 2018-01-17 17:31:23 阅读 我要评论

, e); 
  •  
  •             return null
  •  
  •         } 
  •  
  •     }  
  •  
  •     public boolean hasResponse() { 
  •  
  •         return result.size() > 0; 
  •  
  •     }  
  •  
  •     public Response nextResponse() { 
  •  
  •         try { 
  •  
  •             return result.take(); 
  •  
  •         } catch (InterruptedException e) { 
  •  
  •             log.error("大年夜调剂器获取 Response 掉足", e); 
  •  
  •             return null
  •  
  •         } 
  •  
  •     }  
  •  
  •     public void addRequests(List<Request> requests) { 
  •  
  •         requests.forEach(this::addRequest); 
  •  
  •     }  
  •  
  • }  
  • pending 存储等待处理的URL请求,result 存储下载成功的响应,调剂器负责要乞降响应的获取和添加流转。

    举个栗子 

    设计好我们的爬虫框架后来试一下吧,这个例子我们来爬取豆瓣片子的标题。豆瓣片子中有很多分类,我们可以选择几个作为开端抓取的 URL。

    1. public class DoubanSpider extends Spider {  
    2.     public DoubanSpider(String name) { 
    3.         super(name); 
    4.         this.startUrls( 
    5.             "https://movie.douban.com/tag/爱情"
    6.             "https://movie.douban.com/tag/喜剧"
    7.             "https://movie.douban.com/tag/动画"
    8.             "https://movie.douban.com/tag/动作"
    9.             "https://movie.douban.com/tag/史诗"
    10.             "https://movie.douban.com/tag/犯法"); 
    11.     } 
    12.     @Override 
    13.     public void onStart(Config config) { 
    14.         this.addPipeline((Pipeline<List<String>>) (item, request) -> log.info("保存到文件: {}", item)); 
    15.     } 
    16.     public Result parse(Response response) { 
    17.         Result<List<String>> result   = new Result<>(); 

        推荐阅读

        大神打造水族箱PC主机 机箱还能养鱼

      年前最后一场技巧盛宴 | 1月27日与京东、日记易技巧大年夜咖畅聊智能化运维成长趋势!PC主机重要的散热方法分为风冷和水冷,然则信赖不少玩家据说过“油冷”,就是应用矿物油不导电的特点,将>>>详细阅读


      本文标题:设计和实现一款轻量级的爬虫框架

      地址:http://www.17bianji.com/lsqh/40337.html

    关键词: 探索发现

    乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

    网友点评
    自媒体专栏

    评论

    热度

    精彩导读
    栏目ID=71的表不存在(操作类型=0)