作家
登录

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

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

null == consumers) {  
  •             consumers = new ArrayList<>();  
  •         }  
  •         consumers.add(consumer);  
  •         elvesEventConsumerMap.put(elvesEvent, consumers);  
  •     }  
  •     // 履行事宜  
  •     public static void fireEvent(ElvesEvent elvesEvent, Config config) {  
  •         Optional.ofNullable(elvesEventConsumerMap.get(elvesEvent)).ifPresent(consumers -> consumers.forEach(consumer -> consumer.accept(config)));  
  •     }   
  • }  
  • 这段代码中应用一个 Map 来存储所有事宜,供给两个办法:注册一个事宜、履行某个事宜。

    壅塞队列存储请求响应

    编码要点

    1. public class Scheduler {  
    2.  
    3.     private BlockingQueue<Request>  pending = new LinkedBlockingQueue<>();    
    4.  
    5.     private BlockingQueue<Response> result  = new LinkedBlockingQueue<>();  
    6.  
    7.     public void addRequest(Request request) { 
    8.  
    9.         try { 
    10.  
    11.             this.pending.put(request); 
    12.  
    13.         } catch (InterruptedException e) { 
    14.  
    15.             log.error("向调剂器添加 Request 掉足", e); 
    16.  
    17.         } 
    18.  
    19.     }  
    20.  
    21.     public void addResponse(Response response) { 
    22.  
    23.         try { 
    24.  
    25.             this.result.put(response); 
    26.  
    27.         } catch (InterruptedException e) { 
    28.  
    29.             log.error("向调剂器添加 Response 掉足", e); 
    30.  
    31.         } 
    32.  
    33.     }  
    34.  
    35.     public boolean hasRequest() { 
    36.  
    37.         return pending.size() > 0; 
    38.  
    39.     }  
    40.  
    41.     public Request nextRequest() { 
    42.  
    43.         try { 
    44.  
    45.             return pending.take(); 
    46.  
    47.         } catch (InterruptedException e) { 
    48.  
    49.             log.error("大年夜调剂器获取 Request 掉足"

        推荐阅读

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

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


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

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

    关键词: 探索发现

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

    网友点评
    自媒体专栏

    评论

    热度

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