美文网首页
TOP250影评数据分析之《Jsoup实现Java爬虫》

TOP250影评数据分析之《Jsoup实现Java爬虫》

作者: 辽A丶孙悟空 | 来源:发表于2019-02-27 16:40 被阅读2次
    一、课程目标

    利用Jsoup爬取豆瓣TOP电影网站的电影信息:电影链接、电影名称、电影评分、电影评价人数。

    二、主要知识点
    • URL(统一资源定位符)

    url是统资源定位符,对可以从互联网上得到的资源的位置和访问方法的一种简洁的表示,是互联网上标准资源的地址。互联网上的每个文件都有一个唯一的URL,它包含的信息指出文件的位置以及浏览器应该怎么处理它。

    • Jsoup
    • 基本简介
      Jsoup 是一款Java 的HTML解析器,可直接解析某个URL地址、HTML文本内容。它提供了一套非常省力的API,可通过DOM,CSS以及类似于jQuery的操作方法来取出和操作数据。

    • 主要功能
      ① 从一个URL,文件或字符串中解析HTML;
      ② 使用DOM或CSS选择器来查找、取出数据;
      ③ 可操作HTML元素、属性、文本;

    三、分析过程
    1. 根据TOP250网站的URL直接解析内容,获得目标电影的信息
        1.1 准备目标网站的URL地址
        
        1.2 利用jsoup直接通过URL获取目标网页的HTML文本文档
        
        1.3 锁定目标信息所在的位置
            1.3.1 在页面中我们需要的信息有两种:该页面中的全部电影信息(25条)
                  ID为content的DIV中,包括其中每条电影的基本信息class属性为
                  info的DIV中
            
            1.3.2 对于每一个电影而言,他的电影链接、和电影名称在超链接中
            
            1.3.3 同时每个电影的电影评分和评价人数在class属性为star的DIV中
            
        1.4 获取电影具体的电影信息:电影链接、电影名称、电影评分、电影评价人数
        
    2. 将获得的电影信息打印显示在控制台:电影链接、电影名称、电影评分、电影评价人数
    
    四、代码实现
    public static void main(String[] args) throws IOException {
          
          //1. 根据TOP250网站的URL直接解析内容,获得目标电影的信息
          //1.1 准备目标网站的URL地址
          String url = "https://movie.douban.com/top250?start=0";
          
          //1.2 利用jsoup直接通过URL获取目标网页的HTML文本文档
          Document document = Jsoup.connect(url).get();
          
          //System.out.println(document);
          //1.3 锁定目标信息所在的位置
          Element elementById = document.getElementById("content");
          //System.out.println(elementById);
          //1.3.1 在页面中我们需要的信息有两种:该页面中的全部电影信息(25条)ID为content的DIV中,
          //包括其中每条电影的基本信息class属性为info的DIV中
          Elements elementsByClass = elementById.getElementsByClass("info");
          //System.out.println(elementsByClass);
          for (Element element : elementsByClass) {
              
              //1.3.2 对于每一个电影而言,他的电影链接、和电影名称在超链接中
              Element links = element.getElementsByTag("a").get(0);
              
              //1.3.3 同时每个电影的电影评分和评价人数在class属性为star的DIV中
              Element stars = element.getElementsByClass("star").get(0);
              
              //1.4 获取电影具体的电影信息:
              //电影链接
              String link = links.attr("href");
              //电影名称
              String title = links.child(0).html();
              //电影评分
              String score = stars.child(1).html();
              //电影评价人数
              String num = stars.child(3).html();
                      
              //2. 将获得的电影信息打印显示在控制台:电影链接、电影名称、电影评分、电影评价人数
              System.out.println("电影链接:" + link);
              System.out.println("电影名称:" + title);
              System.out.println("电影评分:" + score);
              System.out.println("电影评价人数:" + num);
              //  分割线--将每一部的电影信息分割开,更容易看清楚
              System.out.println("====================================================");
          }
      }
    
    五、运行结果

    电影链接:https://movie.douban.com/subject/1292052/
    电影名称:肖申克的救赎
    电影评分:9.6
    电影评价人数:1334930人评价
    ====================================================
    电影链接:https://movie.douban.com/subject/1291546/
    电影名称:霸王别姬
    电影评分:9.6
    电影评价人数:986233人评价
    ====================================================
    电影链接:https://movie.douban.com/subject/1295644/
    电影名称:这个杀手不太冷
    电影评分:9.4
    电影评价人数:1221832人评价
    ====================================================
    电影链接:https://movie.douban.com/subject/1292720/
    电影名称:阿甘正传
    电影评分:9.4
    电影评价人数:1051505人评价
    ====================================================
    电影链接:https://movie.douban.com/subject/1292063/
    电影名称:美丽人生
    电影评分:9.5
    电影评价人数:615299人评价
    ====================================================
    电影链接:https://movie.douban.com/subject/1292722/
    电影名称:泰坦尼克号
    电影评分:9.3
    电影评价人数:990297人评价
    ====================================================
    电影链接:https://movie.douban.com/subject/1291561/
    电影名称:千与千寻
    电影评分:9.3
    电影评价人数:979044人评价
    ====================================================
    电影链接:https://movie.douban.com/subject/1295124/
    电影名称:辛德勒的名单
    电影评分:9.5
    电影评价人数:549330人评价
    ====================================================
    电影链接:https://movie.douban.com/subject/3541415/
    电影名称:盗梦空间
    电影评分:9.3
    电影评价人数:1064756人评价
    ====================================================
    电影链接:https://movie.douban.com/subject/3011091/
    电影名称:忠犬八公的故事
    电影评分:9.3
    电影评价人数:695459人评价
    ====================================================
    电影链接:https://movie.douban.com/subject/2131459/
    电影名称:机器人总动员
    电影评分:9.3
    电影评价人数:706297人评价
    ====================================================
    电影链接:https://movie.douban.com/subject/3793023/
    电影名称:三傻大闹宝莱坞
    电影评分:9.2
    电影评价人数:952088人评价
    ====================================================
    电影链接:https://movie.douban.com/subject/1292001/
    电影名称:海上钢琴师
    电影评分:9.2
    电影评价人数:786425人评价
    ====================================================
    电影链接:https://movie.douban.com/subject/1291549/
    电影名称:放牛班的春天
    电影评分:9.3
    电影评价人数:657858人评价
    ====================================================
    电影链接:https://movie.douban.com/subject/1292064/
    电影名称:楚门的世界
    电影评分:9.2
    电影评价人数:721846人评价
    ====================================================
    电影链接:https://movie.douban.com/subject/1292213/
    电影名称:大话西游之大圣娶亲
    电影评分:9.2
    电影评价人数:734285人评价
    ====================================================
    电影链接:https://movie.douban.com/subject/1889243/
    电影名称:星际穿越
    电影评分:9.2
    电影评价人数:750977人评价
    ====================================================
    电影链接:https://movie.douban.com/subject/1291560/
    电影名称:龙猫
    电影评分:9.2
    电影评价人数:648667人评价
    ====================================================
    电影链接:https://movie.douban.com/subject/1291841/
    电影名称:教父
    电影评分:9.2
    电影评价人数:478934人评价
    ====================================================
    电影链接:https://movie.douban.com/subject/5912992/
    电影名称:熔炉
    电影评分:9.3
    电影评价人数:419422人评价
    ====================================================
    电影链接:https://movie.douban.com/subject/1307914/
    电影名称:无间道
    电影评分:9.1
    电影评价人数:602047人评价
    ====================================================
    电影链接:https://movie.douban.com/subject/25662329/
    电影名称:疯狂动物城
    电影评分:9.2
    电影评价人数:819094人评价
    ====================================================
    电影链接:https://movie.douban.com/subject/1849031/
    电影名称:当幸福来敲门
    电影评分:9.0
    电影评价人数:769207人评价
    ====================================================
    电影链接:https://movie.douban.com/subject/3319755/
    电影名称:怦然心动
    电影评分:9.0
    电影评价人数:845948人评价
    ====================================================
    电影链接:https://movie.douban.com/subject/6786002/
    电影名称:触不可及
    电影评分:9.2
    电影评价人数:505312人评价
    ====================================================

    相关文章

      网友评论

          本文标题:TOP250影评数据分析之《Jsoup实现Java爬虫》

          本文链接:https://www.haomeiwen.com/subject/perfuqtx.html