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的带领。我们通过课程设计,相互了解,相互促进,是一次很好的体验。


Java课程设计——博客作业教学数据分析系统(201521123082 黄华林)的更多相关文章

  1. Java课程设计——博客作业教学数据分析系统(201521123084 林正晟)

    #课程设计--博客作业教学数据分析系统(201521123084 林正晟) 1.团队课程设计博客链接 博客作业教学数据分析系统 2.个人负责模块或任务说明 学生登陆界面的前端实现和与数据库的连接 学生 ...

  2. Java课程设计——博客作业教学数据分析系统(201521123091 李嘉廉)

    #课程设计--博客作业教学数据分析系统(201521123084 李嘉廉) 1.团队课程设计博客链接 博客作业教学数据分析系统 2.个人负责模块或任务说明 數據分析 Kmeans聚類算法實現 多元綫性 ...

  3. java课程设计——博客作业教学数据分析系统(201521123083 戴志斌)

    目录 一.团队课程设计博客链接 二.个人负责模块或任务说明 三.自己的代码提交记录截图 四.自己负责模块或任务详细说明 五.课程设计感想 (题外话,终于可以用markdown建目录) 一.团队课程设计 ...

  4. Java语言课程设计——博客作业教学数据分析系统(201521123107 张翔)

    #Java语言课程设计--博客作业教学数据分析系统(个人博客) 1.团队课程设计博客链接 [博客作业教学数据分析系统(From:网络五条狗)](http://www.cnblogs.com/fanta ...

  5. Java课程设计博客(个人)

    Java课程设计博客(个人) 1. 团队课程设计博客链接 http://www.cnblogs.com/wkfg/p/7063081.html 2. 个人负责模块或任务说明 负责模块/任务:编写doG ...

  6. Java课程设计博客(团队)

    Java课程设计博客(团队) 1. 团队/项目名称 使用JAVA实现简易HTTP服务器 2. 团队成员 组长:林一心 组员:张杭镖 3. 项目git地址 https://github.com/oran ...

  7. Java第二次博客作业

    Java第二次博客作业 时间过的很快啊,在不知不觉中这门课程的学习也就快要过去一半了,现在就来总结一下在这个第二个月的学习当中存在的问题以及得到的心得. 1.前言 第四次题目集和第五次题目集给我的感觉 ...

  8. OO--第三单元规格化设计 博客作业

    OO--第三单元规格化设计 博客作业 前言 第三单元,我们以JML为基础,先后完成了 PathContainer -> Graph -> RailwaySystem 这是一个递进的过程,代 ...

  9. 团队作业1——团队展示&博客作业查重系统

    团队展示: 1.队名:六个核桃 2.队员学号: 王婧(201421123065).柯怡芳(201421123067组长).陈艺菡(201421123068). 钱惠(201421123071).尼玛( ...

随机推荐

  1. swift3.0 顶部状态栏隐藏

    横屏进入手机状态栏是隐藏的,但是调用了相册选去图片后顶部状态栏又显示了出来,网上查阅按照以下方式: override var prefersStatusBarHidden: Bool{ return ...

  2. 使用sed命令向文件中追加可变字符串

    1.如何向文件追加可变字符串,有如下两种方法 sed -i '1a '$s'' filename sed -i "1a $s" filename 注意: 以上命令是假定向文件fil ...

  3. Oracle的安装问题

    1. 安装时提示:unable to create directory: /u01/oracle/oradata 这个是由于以oracle用户进行安装时,之前没有创建/u01/这个目录,要知道orac ...

  4. 001-centos6.5下安装jenkins

    Jenkins是开源的,使用Java编写的持续集成的工具,在Centos上可以通过yum命令行直接安装. 需要先安装Java,如果已经Java可以跳过该步骤.   如果已安装java,可以通过该命令查 ...

  5. co源码解析

    一.co函数是什么 co 函数库是著名程序员 TJ Holowaychuk 于2013年6月发布的一个小工具,用于 Generator 函数的自动执行.短小精悍只有短短200余行,就可以免去手动编写G ...

  6. win7(iis7)无法加载运行CSS和图片的解决方法

    今天刚刚在公司的电脑安装了window7并配置了iis7,打开网站户发现结构混乱,图片不显示,但是内容显示完全没有问题,也没有出错. 一开始以为是和IIS6的MIME一样,没有添加到相应项目的原因,但 ...

  7. 多态性(C#)

    在面向对象编程中继承性和多态性是重要机制,前面我为大家分享了我对“类的继承”的理解,哪么今天我就跟大家分享下我对“多态性(C#)”的理解. 首先我们先来看看多态的定义,同一操作作用于不同的对象,可以有 ...

  8. phpStudy下安装memcache扩展

    简要:参考<phpStydy配置memcache扩展>,期间安装不到memcache;为此向大家分享我遇到的问题和解决办法,希望能够跟各位PHP大神学习探索,如果有不对或者好的建议告知下: ...

  9. WPF控制动画开始、停止、暂停和恢复

    1.闲言 好久也没更新一博客了,自己有点发懒,同时确实这几个月来也有点忙.风机监测软件,项目中,有这样一个小需求:正常风机在旋转的时候,上位机软要做一个风机的图片,让它不停地旋转,一但检测到下面风机停 ...

  10. 去除ios反调试

    在逆向过程中经常会遇到反调试,如下段代码: 0008bd8e movs r1, #0xa ; argument #2 for method imp___symbolstub1__dlopen 0008 ...