zoukankan      html  css  js  c++  java
  • Java课程设计——博客作业教学数据分析系统(201521123082 黄华林)

    Java课程设计——博客作业教学数据分析系统(201521123082 黄华林)


    一、团队课程设计博客链接

    博客作业教学数据分析系统(From:网络五条狗)


    二、个人负责模块或任务说明

    1.网络爬虫

    首先,一个博客作业教学数据分析系统的基础就是相关的数据。

    其次,系统是通过网络爬虫技术抓取博客网页源码上的数据。

    最后,将抓取的数据存入设计好的数据库以供提取分析。


    三、自己的代码提交记录截图


    四、自己负责模块或任务详细说明

    1.负责模块

    (1)抓取每位同学每次博客作业网页的浏览量、阅读量、篇幅、图片数量;

    (2)把每位同学的学号和分数、每次博客作业地址、图片数量、篇幅、浏览量、阅读数量存入数据库。

    2.任务详细说明

    (1)图片数量抓取

    利用Jsoup获取网页源码,然后利用getElementsByTag()筛选img标签,统计图片数量。

    (2)文章篇幅抓取

    直接利用size()方法统计网页源码篇幅。

    (3)浏览量和阅读量数据抓取

    <1>一开始就直接想从作业博客原始链接的元素源码:


    想直接用Jsoup方法抓取,如下部分测试代码段:

            // 获取目标HTML代码
    		Elements elements1 = doc.select("[class=postDesc]");
    		// 获取浏览数量
    		Elements elements2 = elements1.select("#post_view_count");
    		String browse = elements2.get(0).text();
    		System.out.println(browse);
    		// 获得评论数量
    		Elements elements3 = elements1.select("#post_comment_count");
    		String comment = elements3.get(0).text();
    		System.out.println(comment);
    

    然后两个的抓取的结果都是“...”。

    <2>查看网页源码后如下:

    <3>然后利用FireBug调试,获得浏览量的url

    然后寻找到浏览量页面的url的规律:"http://www.cnblogs.com/mvc/blog/ViewCountCommentCout.aspx?postId="+"每个学生的博客链接的postId"
    以我的作业为例子查看网页源码:

    然后利用select("body").text()获取浏览量。

    <4>同样获得阅读量的url

    拼装办法:"http://www.cnblogs.com/mvc/blog/GetComments.aspx?postId="+postId+"&blogApp="+name+"&pageIndex=0&anchorCommentId=0";
    查看网页如下:

    网页源码如下:

    首先利用HttpClient获取网页html,然后利用json的方法获得commentCount的值。

    (4)以上功能的关键代码

    抓取图片数量、文章幅度、浏览量、阅读量:

    获得评论量的实现:

    (5)建立一个WebCrawler类,连接数据库,利用多线程读取garde表的url、学号、分数,并且利用每个学生的博客作业地址,抓取四个数据后存入数据库以供数据分析。

    采用多线程实现网页数据抓取的关键代码:

    运行情况:


    数据库:


    五、课程设计感想

    这次java课程设计,我们组一共五个人。我们组提前一周,就每天晚上7点集合敲代码。组长给每位同学都安排好工作,然后每个人都努力地完成工作。在集合敲代码的时候,我对于数据库和多线程的知识并不牢固,经常遇到瓶颈,这时候我会请教daiker,他对爬虫的使用很了解。我们采用导入库的方法,利用jsoup、HttpEntity,抓取网页上需要的数据。在使用这些库的时候,很多方法都是实时百度,以网上代码为例,自己通过学习,学以致用,提升了自己解决问题的能力。最后,我们的课程设计完成了,感谢组长和daiker的带领。我们通过课程设计,相互了解,相互促进,是一次很好的体验。


  • 相关阅读:
    SharePoint学习资料收集
    VS2008 IDE界面
    罗列没有主键的表
    Google Calendar API练习
    pb中数据窗口中字段只显示255个的解决方法
    oracle 中的事务和update from 语句
    sqlserver2005数据库扩容方案
    在一个表上创建非聚集索引和聚集索引
    <xsl:applytemplates/>的应用
    时间戳转换为日期类型
  • 原文地址:https://www.cnblogs.com/moyi-h/p/7056468.html
Copyright © 2011-2022 走看看