在数据挖掘中,获取数据并不困难,关键是要挖掘出数据背后的价值。例如微 博,通过用户大量的互动行为,产生人与信息的交流,交织,不断变化着向前推进。 当发送一条微博,被评论,然后被转发,再次被转发,有时候会产生类似蝴蝶效应 的情况。数据挖掘可能帮助企业更好的预测信息,规避风险。
数据挖掘作为一个学术领域,横跨多个学科,涵盖了统计学、数学、机器学习 和数据库等,此外还包括各类专业方向比如从油田电力、海洋生物、历史文本、电 子通讯、法律税务等的各个专业领域。本文介绍的是针对网站的数据挖掘,以“博 客园”为例,抓取“博客园”知名博主的相关信息,分析数据背后隐藏的信息,并 从冗杂,没有联系的数据中,整理获取有价值,有关联的信息。
1。2 项目流程
本次项目分为五大模块,分别是网站分析、数据抓取、数据导入、数据可视化、 性能优化,如图 1-1 所示。
图 1-1 项目流程图
网站分析[2]目的是要解析该网站的布局结构,找到你需要的数据的所处位置, 并获取数据所在标签的 id 或者样式名;其次是判断数据的请求方式,同时解析 ajax[3] 的请求地址,以便在获取数据的时候做出相应处理。文献综述
数据抓取这部分是基于网站的分析之后,利用 NSoup[4]来解析 Html 代码,抓取 网页中你所需要的数据。
数据导入是指在正确捕获数据之后,将内存中的数据,保存到 MSSQL[5]数据库 中,以便数据的分析处理。
数据可视化分为两个部分,一部分是数据的分类,将其按照博主,博主的文章 分类,分类下的文章,进行网页的逻辑安排;另一部分是对数据的分析,挖掘数据 的隐藏价值,提取并利用 ECharts[6]制图插件,可视化数据。
性能优化主要针对程序的健壮性和代码的运行效率。提高健壮性可以避免抓取 的数据的丢失,提高抓取数据的准确性,减少了程序卡死的可能性;对运行效率的 优化,可以极大的减少抓取和导入数据库的消耗时间。
1。3 项目架构
项目架构图由下而上,分别包含了数据访问层、DAL 数据访问层、BLL 业务逻 辑层、应用层以及 Common 和 Model 层,如图 1-2 所示,设计多层架构,有利于项 目的维护和二次开发,方便项目管理。模块化的思想,可以简化繁重的测试和异常 的调试,但带来了开发上的难度,以及增大的开发项目的工作量。需要的开发工具 有:Visual Studio 2015、Microsoft SQL Server、Firefox、ECharts、Nsoup、IIS7。0 等。
图 1-2 项目架构图
其中,数据层主要是存放着抓取数据的数据库。
DAL 数据访问层主要是对非原始数据(数据库或者文本文件等存放数据的形式) 的操作层,具体为业务逻辑层或应用层提供数据服务,而不是指原始数据,也就是 说,是对数据的操作,而不是对数据库的操作。
BLL 业务逻辑层主要是针对具体的问题的操作,也可以理解成对 DAL 数据访 问层的操作,处理数据业务逻辑,如果说 DAL 数据访问层是积木,那 BLL 业务逻 辑层就是对这些积木的搭建。
应用层主要分为三种,Spider 是用于抓取数据的爬虫[7]程序,DataShow 是用于 数据分析的 Web 网站,Test 是用于测试及对异常数据的处理。
Common 层包含了整个项目的公共调用方法。来`自+优-尔^论:文,网www.youerw.com +QQ752018766-
Model 是指所有的数据表表现在 C#程序中的类模型。
Asp.Net网站信息智能抓取与分析(3):http://www.youerw.com/jisuanji/lunwen_91384.html