作家
登录

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

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

  •         Elements             elements = response.body().css("#content table .pl2 a");  
  •         List<String> titles = elements.stream().map(Element::text).collect(Collectors.toList()); 
  •         result.setItem(titles);  
  •         // 获取下一页 URL 
  •         Elements nextEl = response.body().css("#content > div > div.article > div.paginator > span.next > a"); 
  •         if (null != nextEl && nextEl.size() > 0) { 
  •             String  nextPageUrl = nextEl.get(0).attr("href"); 
  •             Request nextReq     = this.makeRequest(nextPageUrl, this::parse); 
  •             result.addRequest(nextReq); 
  •         } 
  •         return result; 
  •     } 
  • public static void main(String[] args) { 
  •     DoubanSpider doubanSpider = new DoubanSpider("豆瓣片子"); 
  •     Elves.me(doubanSpider, Config.me()).start(); 
  • }  
  • 这段代码中在 onStart 办法是爬虫启动时的一个事宜,会在启动该爬虫的时刻履行,在这里我们设置了启动要抓取的URL列表。 然后添加了一个数据处理的 Pipeline,在这里处理管道中只进行了输出,你也可以存储。

    在 parse 办法中做了两件事,起首解析当缁ぅ取到的所有片子标题,将标题数据收集为 List 传递给 Pipeline; 其次根据当前页面持续抓取下一页,将下一页请求传递给调剂器,由调剂器转发给下载器。这里我们应用一个 Result 对象接收。

    参考文献

    • 常见的反爬虫和应对办法
    • 反爬虫思路与解决办法
    • 收集爬虫 

    【编辑推荐】

    1. NodeJs爬虫抓取古代典籍,共计16000个页面心得领会总结及衔目分享
    2. Python微博移动端爬虫实例(附代码)
    3. 用python爬虫抓站的一些技能总结
    4. Python爬虫拭魅战之豆瓣音乐、微打赏、阳光片子(附代码)
    5. 大年夜0到1:Python爬虫常识点梳理
    【义务编辑:庞桂玉 TEL:(010)68476606】

      推荐阅读

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

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


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

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

    关键词: 探索发现

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

    网友点评
    自媒体专栏

    评论

    热度

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