CN104182478A | 2014-12-03 | |||
CN102663018A | 2012-09-12 | |||
CN102609507A | 2012-07-25 | |||
CN102075560A | 2011-05-25 | |||
US20080005319A1 | 2008-01-03 |
权利要求书 [权利要求 1] 个性化分布式数据挖掘系统主要是提供了一种基于 Excel, Java, html 的数据挖掘系统, 该系统包括以下几个模块: 中央控制模块: 中央控制类 constmcture保存系统运行的一些关键参数 目标网站名单读取模块: 采用 excel表格存储目标网站列表和关键词 , 并且使用 java语言读取信息, 结果文件生成模块: 使用 html格式的文件用来存储结果信息, 使用 ht ml_writer_wmpper类保存写结果文件前端和后端两个方法, 目标网站抽取并写入结果文件模块: 将 excel表格中获得的目标网站 列表和关键词列表信息, 对目标网站群进行数据抽取并且按照关键词 列表进行比对和过滤, 将过滤之后的结果写入结果文件之中, 数据清洗模块: 将抽取的数据信息进行清洗整合之后存入结果文件之 中。 根据权利一中要求的, 该系统中采用使用 Excel表格保存目标网站列 表, 关键词列表的信息, Java语言分析并且处理, 得到信息, 并且采 用 html文件存储结果的运行模式申请保护。 根据权利一中要求的, 采用中央控制模块申请保护, 对其采用 constm Ct.xml作为配置文件, 其包含 excel文件存储路径, 结果文件 out.html存 储路径信息申请保护。 根据权利一中要求的, 对中央控制模块采用 constmture作为控制模块 类, 其 getExcel_file, setExcel_file, getOutput_file, setOutput_file的方法 及其内容进行保护。 根据权利一中要求的, 对目标网站读取模块使用 excel表格保存目标 网站内容和关键词, excel表格分为两列, 第一列是 website, 下面每 一行都是目标网站的网址, 第二列是 keywords,下面每一行都是一个 ke yword。 根据权利一中要求的, 对目标网站读取模块中提到的 Java读取 Excel表 格中信息的两种方法, JPOI和 JExcel, JPOI包含的 get_urls_poi, get_keywords_poi, JExcel中包含的 get_urlsjexcel, get_key words jexcel 方法及其步骤。 根据权利六中提出的与 JPOI和 JExcel类似的或者衍生出来的方法, 主 要是用来读取 Excel表格中的信息, 申请保护。 根据权利一中要求的, 结果文件生成模块采用的结果文件前端生成方 法的内容, Write_Header方法及其内容。 根据权利一中要求的, 结果文件申请模块采用的结果文件后端生成方 法及其内容, Write_Bottom方法及其内容。 根据权利一中要求的, 目标网站抽取并写入结果文件模块使用 Java对 目标网站群进行定向挖掘, 得到了第一层链接, 同吋在第一层链接的 基础之上, 对该层链接进行第二层次搜索, 将获得的内容与过滤词进 行比对匹配的方法申请保护。 根据权利十中提到的一种数据挖掘方法的衍生方法申请保护, 主要表 现形式为在搜索到第一层链接的基础之上, 进行第二层, 第三层乃至 第 n层链接的进一步搜索并且将其中任何一层链接的内容和关键词进 行比对并且筛选, 最终获得结果的方法申请保护。 根据权利一中要求的, 对数据清洗模块采用 DataCleaning_Wrapper作 为总类, 对系统抽取出来的信息之后进行 remove的数据清洗的方法及 其内容申请保护。 根据权利一中提出的, 基于各个模块衍生出来的或者相似度很高的 一些方法和内容, 申请保护。 |
[0001] 本发明涉及一种个性化的分布式数据抽取系统 , 可以用于对互联网上网站进行 个性化挖掘。
背景技术
[0002] Microsoft Office系列已经成为大众通用的产品, 用户对其有着良好的用户体验 , 同吋 html文件格式成为所有网络浏览器接受的格式 Java语言作为一种普遍的 网络编程语言为大众所接受, 所以本系统融合了以上三种背景技术, 创造出了 该个性化的数据挖掘系统。
技术问题
[0003] 目前市面上已经有的垂直搜索系统需要高深的 计算机知识才能够使用, 一般的 普通人无法使用垂直搜索系统, 本发明提出一种解决方案, 用户懂得使用 office 就可以使用垂直搜索系统, 从互联网上挖掘出自己所需要的东西。
问题的解决方案
技术解决方案
[0004] 本发明包括五个模块:中央控制模块, 目标网站名单读取模块, 结果文件生成 模块, 目标网站抽取并写入结果文件模块, 数据清洗模块。
[0005] 中央控制模块, 该模块主要是生成一个类, 用于存储该系统运行的一些关键的 参数, 比如 Excel文件的存储位置, 结果文件的存储位置等。
[0006] 目标网站名单读取模块, 该模块主要是系统使用 Java从 excel文件中读取需要进 行抽取的目标网站的名单以及采用的过滤词。
[0007] 结果文件生成模块, 主要将结果页面生成一个 html文件并且存储主要包括结果 文件前端生成和结果文件后端生成两个方法。
[0008] 目标网站抽取并写入结果文件模块, 该模块主要是系统根据之前的目标网站的 抽取情况, 得到目标网站的名单列表, 然后根据该列表对网站进行抽取。
[0009] 数据清洗模块, 主要是对抽取出来的数据进行清洗, 以获得所需要的结果。 [0010] 具体实施方式:
[0011] 中央控制模块主要包括以下部分, 控制文件 constmct.xml, 控制类 Constmcture
[0012] 控制文件 constmcLxml主要是使用 xml文件存储关键信息, 包括 Excel文件的存 储位置和结果文件的存储位置, 包括以下几个节点:
[0013] 1, excel : excel文件的路径,
[0014] 2, output:结果文件 out.html的存放路径。
[0015] 控制类 Constmcture是一个类, 该类用于存储之前 Excel文件的地址, 结果文件 o ut.html的存放位置, 该类实例化之后包含以下几个方法:
[0016] 1, getExcel_file:取得 Excel文件的存储位置
[0017] 2, setExcel_file:更改 Excel文件的存储位置
[0018] 3, getOutput_file: 取得结果文件 out.html的存储位置
[0019] 4, setOutput_file: 更改结果文件 out.html的存储位置。
[0020] 目标网站名单读取模块, 表格文件 Excel主要包含两列。
[0021] —列是 website, 主要是需要进行抽取的网站名单, 都是其网址格式, 比如 www .xundata.com等等, 该列的第一个名称为 website, 下面的每一行都是需要抽取的 网站 url格式, 可以有许多个。
[0022] 另一列, 即第二列, 是 keyword, 主要是系统用来进行过滤所采用的关键词, 用户可以自己设定, 可以是友情, 爱情等, 每一行都是一个新的关键词, 可以 有许多个。
[0023] 对该 excel文件的读取, 采用的是 Java读取 Excel的 API, 本系统提出了两种方法 J
P0I和 JExcel两种。
[0024] 对 JP0I方式, 包含获得 urls方式和获得 keywords的方式。
[0025] 方法名: get_urls_poi,获得 urls的方式:
[0026] 1, 系统输入 Excel的文件名, 生成 POIFSFileSystem fs,
[0027] 2, 根据该 fs生成 HSSFWorkbook wb ,
[0028] 3, 根据 wb, 生成 HSSFSheet sheet, 取得 sheet的物理行数, rows ,
[0029] 4, 对 rows做一次循环, [0030] 4.1, 从 sheet中取得每一行,
[0031] 4.2, 然后从该行中取得第一列的元素,
[0032] 4.2.1, 当其不包含 website的关键字后, 将其加入 urls中
[0033] 4.2.2, 当其包含 website, 则不加入 urls中。
[0034] 方法名: 360^ \¥0 (18_ 01,获得1^ \¥0 (18的方式:
[0035] 1, 系统输入 Excel的文件名, 生成 POIFSFileSystem fs,
[0036] 2, 根据该 fs生成 HSSFWorkbook wb ,
[0037] 3, 跟据 wb, 生成 HSSFSheet sheet, 取得 sheet的物理行数, rows ,
[0038] 4, 对 rows做一次循环,
[0039] 4.1, 从 sheet中取得每一行,
[0040] 4.2, 然后从该行中取得第二列的元素,
[0041] 4.2.1, 当其不包含 keyword的关键字后, 将其加入 keywords中
[0042] 4.2.2, 当其包含 key word, 则不加入 key words中。
[0043] 对于 JExcel方式, 包含获得 urls和 keywords的方式。
[0044] 方法名: get_urlsjexcel, 获得 urls的方法:
[0045] 1, 生成 urls列表
[0046] 2, 使用提供的 excel文件, 生成实例 jxl. workbook: workbook
[0047] 3, 使用 workbook,生成 sheet
[0048] 4, 定义列 col为 0
[0049] 5, 取得 sheet中的行数 rows,并且做一次循环
[0050] 5.1, 对每一行, 通过 sheet, 取得一个实例 jxl.cell: cell, 其列数为 0
[0051] 5.2, 对该 cell, 取得其内容 content_local,
[0052] 5.3, 当内容不包含 website字样吋, 将 content_local加入 urls列表
[0053] 6, 返还 urls列。
[0054] 方法名: get_key words Jexcel, 获得 key words的方法:
[0055] 1, 生成 keywords列表
[0056] 2, 使用提供的 excel文件, 生成实例 jxl.workbook: workbook
[0057] 3, 使用 workbook,生成 sheet [0058] 定义列 col为 1
[0059] 取得 sheet中的行数 rows,并且做一次循环
[0060] 5.1, 对每一行, 通过 sheet, 生成一个 jxl.cell: cell, 其列数为 1
[0061] 5.2, 对该 cell, 取得其内容 content_local,
[0062] 5.3, 当内容不包含 key word字样吋, 将 content_local加入 urls列中
[0063] 6, 返还 key words列。
[0064] 结果文件生成模块, 主要包括结果文件前端生成方法和结果文件后 端生成方法
[0065] 结果文件前端生成方法, 主要是采用 Java写入文件的 FileWriter方法, 将结果文 件写成 OU t.html, 并且写入生成目标文件的前端, 采用的方法名称为 Write—Heade r, 写入内容如下:
[0066] 1, 从结果文件的位置生成 FileWriter f stream
[0067] 2, 从 fstream生成 bufferedwriter out
[0068] 3, 使用 out写入结果文件一下内容:
[0069] <!DOCTYPE html>
[0070] <html>
[0071] <head>
[0072] <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
[0073] <title>The result page</title>
[0074] </head>
[0075] <body>
[0076] 4, 关闭 out。
[0077] 结果文件后端生成模块: 该模块主要是对结果文件 out.html的底部生成 html文档
[0078] 主要采用名为 Write_Botton方法, 主要步骤如下:
[0079] 1, 生成 bufferedWriter out
[0080] 2, 从结果文件的地址生成 FileWriter文件流 fstream,
[0081] 3, 将 fstream放入 BufferedWriter文件中 [0082] 4, out写入 </body>
[0083] 5, out写入 </html>
[0084] 6, out关闭。
[0085] 目标网站抽取并写入结果文件模块, 包括以下几个步骤:
[0086] 1, 打幵之前写好的结果文件 out.html
[0087] 2, 写入 <table style^'widtl^lOOW
[0088] 3, 根据之前获得的 uri列表, urls,对其做一个循环,
[0089] 3.1, 从 urls中获得一个 url
[0090] 3.2, 针对该 uri进行一次扫描, 获取其中的链接
[0091] 3.2.1, 针对每个获取的链接, 对其进行下一层次的扫描
[0092] 3.2.2, 针对扫描回来的结果, 抽取其中含有 html的文档内容的那一部分
[0093] 3.2.3 , 针对抽取的 html文档的内容这一部分, 采用循环的方式, 确认其是 否包含 keyword关键词,
[0094] 3.2.3.1采用循环机制, 从 keywords中选取一个 keyword
[0095] 3.2.3.2将该 keyword和抽取的 html文档内容做匹配, 看 html文档内容是 否包含该 keyword
[0096] 3.2.3.3如果 html文档包含 key word, 则返回该链接 link_local, 链接 的 title内 容 title_local.
[0097] 3.2.3.4如果 html文档不包含 key word, 则不返回该链接
[0098] 3.2.4对包含 keyword的, 返回的链接, 进行数据清洗, 具体如何清洗的见 第五模块数据清洗模块,
[0099] 3.2.5对数据清洗之后的, 返回的链接 link_l OCa l, 和它所对应的标题
titlejocal, 将其写入结果文件中 out.html,写入内容如下:
[0100] 4, 在结果文件 out.html中写入
[0101] 5, 关闭 out.html。
[0102] 数据清洗模块主要采用 DataCleaning_Wrapper类作为总类, 采用的方法是 remo ve方法, 主要步骤如下:
[0103] 1, 生成需要清洗的内容列表 fflter_list [0104] 2, 对每一个属于该内容列表的 fflter_key word,
[0105] 2.1, 将输入的文件和该列表进行匹配,
[0106] 2.2, 如果符合该, 则将其清除
[0107] 2.3, 如果不符合, 则无所谓
[0108] 2.4, 将处理之后的字符串返回。
发明的有益效果
有益效果
[0109] 通过该系统, 用户只需要从 office excel输入参数, 系统可以读取用户输入的参 数, 然后运营起来, 从互联网上抽取数据, 然后展现给用户看。
对附图的简要说明
附图说明
[0110] 图 1为系统整个结构图
[0111] 图 2为目标网站名单读取模块结构图
[0112] 图 3为目标网站名单读取模块并写入结果文件模 结构图
[0113] 图 4为 JPOI方法中 get_urls_poi流程图
[0114] 图 5为 JPOI方法中 get_keyword_poi流程图
[0115] 图 6为 JExcel方法中 get_urls Jexcel流程图
[0116] 图 7为 JExcel方法中 get_keywordsJexcel流程图。
实施该发明的最佳实施例
本发明的最佳实施方式
[0117] 本发明的最佳实施方式是, 用户使用 eclipse安装软件, 然后使用 microsoft excel 保存目标网站名单和关键词, 之后调用该软件进行数据挖掘。 本发明的实施方式
[0118] 本发明的实施方式是, 用户使用 excel填好目标网站的名单, 过滤词, 然后使用 java进行数据挖掘与抽取。
工业实用性 有了该系统, 一般的用户也可以使用该系统在互联网上进行 数据挖掘与操作了 , 从而大大地提升效率。
Next Patent: DOUBLE-BOTTOM PET BAG