个性化分布式数据挖掘系统的制作方法

文档序号:12271337阅读:263来源:国知局
本发明涉及一种个性化的分布式数据抽取系统,可以用于对互联网上网站进行个性化挖掘。
背景技术
::MicrosoftOffice系列已经成为大众通用的产品,用户对其有着良好的用户体验,同时html文件格式成为所有网络浏览器接受的格式,Java语言作为一种普遍的网络编程语言为大众所接受,所以本系统融合了以上三种
背景技术
:,创造出了该个性化的数据挖掘系统。技术实现要素:本发明包括五个模块:中央控制模块,目标网站名单读取模块,结果文件生成模块,目标网站抽取并写入结果文件模块,数据清洗模块。中央控制模块,该模块主要是生成一个类,用于存储该系统运行的一些关键的参数,比如Excel文件的存储位置,结果文件的存储位置等。目标网站名单读取模块,该模块主要是系统使用Java从excel文件中读取需要进行抽取的目标网站的名单以及采用的过滤词。结果文件生成模块,主要将结果页面生成一个html文件并且存储主要包括结果文件前端生成和结果文件后端生成两个方法。目标网站抽取并写入结果文件模块,该模块主要是系统根据之前的目标网站的抽取情况,得到目标网站的名单列表,然后根据该列表对网站进行抽取。数据清洗模块,主要是对抽取出来的数据进行清洗,以获得所需要的结果。说明书附图:图1为系统整个结构图图2为目标网站名单读取模块结构图图3为目标网站名单读取模块并写入结果文件模块结构图图4为JPOI方法中get_urls_poi流程图图5为JPOI方法中get_keyword_poi流程图图6为JExcel方法中get_urls_jexcel流程图图7位JExcel方法中get_keywords_jexcel流程图。具体实施方式:中央控制模块主要包括以下部分,控制文件construct.xml,控制类Constructure。控制文件construct.xml主要是使用xml文件存储关键信息,包括Excel文件的存储位置和结果文件的存储位置,包括以下几个节点:1,excel:excel文件的路径,2,output:结果文件out.html的存放路径。控制类Constructure是一个类,该类用于存储之前Excel文件的地址,结果文件out.html的存放位置,该类实例化之后包含以下几个方法:1,getExcel_file:取得Excel文件的存储位置2,setExcel_file:更改Excel文件的存储位置3,getOutput_file:取得结果文件out.html的存储位置4,setOutput_file:更改结果文件out.html的存储位置。目标网站名单读取模块,表格文件Excel主要包含两列。一列是website,主要是需要进行抽取的网站名单,都是其网址格式,比如www.xundata.com等等,该列的第一个名称为website,下面的每一行都是需要抽取的网站url格式,可以有许多个。另一列,即第二列,是keyword,主要是系统用来进行过滤所采用的关键词,用户可以自己设定,可以是友情,爱情等,每一行都是一个新的关键词,可以有许多个。对该excel文件的读取,采用的是Java读取Excel的API,本系统提出了两种方法JPOI和JExcel两种。对JPOI方式,包含获得urls方式和获得keywords的方式。方法名:get_urls_poi,获得urls的方式:1.系统输入Excel的文件名,生成POIFSFileSystemfs,2.根据该fs生成HSSFWorkbookwb,3.根据wb,生成HSSFSheetsheet,取得sheet的物理行数,rows,4.对rows做一次循环,4.1.从sheet中取得每一行,4.2.然后从该行中取得第一列的元素,4.2.1当其不包含website的关键字后,将其加入urls中4.2.2当其包含website,则不加入urls中。方法名:get_keywords_poi,获得keywords的方式:1.系统输入Excel的文件名,生成POIFSFileSystemfs,2.根据该fs生成HSSFWorkbookwb,3.根据wb,生成HSSFSheetsheet,取得sheet的物理行数,rows,4.对rows做一次循环,4.1.从sheet中取得每一行,4.2.然后从该行中取得第二列的元素,4.2.1当其不包含keyword的关键字后,将其加入keywords中4.2.2当其包含keyword,则不加入keywords中。对于JExcel方式,包含获得urls和keywords的方式。方法名:get_urls_jexcel,获得urls的方法:1,生成urls列表2,使用提供的excel文件,生成实例jxl.workbook:workbook3,使用workbook,生成sheet4,定义列col为05,取得sheet中的行数rows,并且做一次循环5.1,对每一行,通过sheet,取得一个实例jxl.cell:cell,其列数为05.2,对该cell,取得其内容content_local,5.3,当内容不包含website字样时,将content_local加入urls列表6,返还urls列。方法名:get_keywords_jexcel,获得keywords的方法:1,生成keywords列表2,使用提供的excel文件,生成实例jxl.workbook:workbook3,使用workbook,生成sheet4,定义列col为15,取得sheet中的行数rows,并且做一次循环5.1,对每一行,通过sheet,生成一个jxl.cell:cell,其列数为15.2,对该cell,取得其内容content_local,5.3,当内容不包含keyword字样时,将content_local加入urls列中6,返还keywords列。结果文件生成模块,主要包括结果文件前端生成方法和结果文件后端生成方法。结果文件前端生成方法,主要是采用Java写入文件的FileWriter方法,将结果文件写成out.html,并且写入生成目标文件的前端,采用的方法名称为Write_Header,写入内容如下:1,从结果文件的位置生成FileWriterfstream2,从fstream生成bufferedwriterout3,使用out写入结果文件一下内容:<!DOCTYPEhtml><html><head><metahttp-equiv="Content-Type"content="text/html;charset=utf-8"><title>Theresultpage</title></head><body>4,关闭out。结果文件后端生成模块:该模块主要是对结果文件out.html的底部生成html文档。主要采用名为Write_Botton方法,主要步骤如下:1,生成bufferedWriterout2,从结果文件的地址生成FileWriter文件流fstream,3,将fstream放入BufferedWriter文件中4,out写入</body>5,out写入</html>6,out关闭。目标网站抽取并写入结果文件模块,包括以下几个步骤:1,打开之前写好的结果文件out.html2,写入<tablestyle="width=100%">3,根据之前获得的url列表,urls,对其做一个循环,3.1从urls中获得一个url3.2针对该url进行一次扫描,获取其中的链接3.2.1针对每个获取的链接,对其进行下一层次的扫描3.2.2针对扫描回来的结果,抽取其中含有html的文档内容的那一部分3.2.3针对抽取的html文档的内容这一部分,采用循环的方式,确认其是否包含keyword关键词,3.2.3.1采用循环机制,从keywords中选取一个keyword3.2.3.2将该keyword和抽取的html文档内容做匹配,看html文档内容是否包含该keyword3.2.3.3如果html文档包含keyword,则返回该链接link_local,链接的title内容title_local.3.2.3.4如果html文档不包含keyword,则不返回该链接3.2.4对包含keyword的,返回的链接,进行数据清洗,具体如何清洗的见第五模块数据清洗模块,3.2.5对数据清洗之后的,返回的链接link_local,和它所对应的标题title_local,将其写入结果文件中out.html,写入内容如下:<tr><td><ahref=link_local>title_local</a></td></tr>4,在结果文件out.html中写入</table>5,关闭out.html。数据清洗模块主要采用DataCleaning_Wrapper类作为总类,采用的方法是remove方法,主要步骤如下:1,生成需要清洗的内容列表filter_list2,对每一个属于该内容列表的filter_keyword,2.1,将输入的文件和该列表进行匹配,2.2,如果符合该,则将其清除2.3,如果不符合,则无所谓2.4,将处理之后的字符串返回。当前第1页1 2 3 当前第1页1 2 3 
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1