《网上新闻信息定期自动抓取方法.pdf》由会员分享,可在线阅读,更多相关《网上新闻信息定期自动抓取方法.pdf(11页珍藏版)》请在专利查询网上搜索。
1、(10)申请公布号 CN 102929992 A (43)申请公布日 2013.02.13 CN 102929992 A *CN102929992A* (21)申请号 201210402435.X (22)申请日 2012.10.22 G06F 17/30(2006.01) G06F 9/445(2006.01) (71)申请人 卢屹韦 地址 215300 江苏省苏州市昆山市开发区夹 浦新村 7-504 室 (72)发明人 卢屹韦 (74)专利代理机构 昆山四方专利事务所 32212 代理人 盛建德 (54) 发明名称 网上新闻信息定期自动抓取方法 (57) 摘要 一种网上新闻信息定期自动抓取。
2、方法, 先根 据待获取的新闻目录网页中的数据结构特征和源 代码语法规则建立新闻目录匹配模型, 并根据待 获取的新闻文本网页中的数据结构特征和源代码 语法规则建立新闻文本匹配模型, 在基于 MS SQL Server Agent任务调度管理器, 创建任务组, 该任 务组为定期调动并依次执行获取新闻目录网页模 块、 抓取及保存新闻地址信息模块、 更新新闻目录 列表模块和获取新闻文本网页模块, 本发明能定 期启动网上新闻信息抓取, 并可避免重复获取新 闻信息, 节省空间, 提高效率。 (51)Int.Cl. 权利要求书 1 页 说明书 5 页 附图 4 页 (19)中华人民共和国国家知识产权局 (1。
3、2)发明专利申请 权利要求书 1 页 说明书 5 页 附图 4 页 1/1 页 2 1. 一种网上新闻信息定期自动抓取方法, 其特征在于, 包括以下步骤 : 第一步, 根据待获取的新闻目录网页中的数据结构特征和源代码语法规则建立新闻目 录匹配模型 ; 第二步, 根据待获取的新闻文本网页中的数据结构特征和源代码语法规则建立新闻文 本匹配模型 ; 第三步, 基于 MS SQL Server Agent 任务调度管理器, 创建任务组, 该任务组为定期调 动并依次执行如下模块 : a) 获取新闻目录网页模块, 就是根据该新闻目录网页的 URL 地址获取该网页文件的新 闻目录源代码 ; b) 抓取及保存。
4、新闻地址信息模块, 就是根据该新闻目录匹配模型, 抓取该新闻目录源 代码中的新闻标题和新闻链接地址, 保存于新闻目录信息列表, 并置该新闻目录信息列表 中相应的更新标识为打开状态 ; c) 更新新闻目录列表模块, 就是屏蔽该新闻目录信息列表中具有重复新闻标题且更新 标识为打开的新闻目录信息记录 ; d) 获取新闻文本网页模块, 就是依次根据该新闻目录信息列表中更新标识打开的新闻 链接地址, 获取相应新闻网页文件中的新闻文本源代码, 并根据该新闻文本匹配模型, 抓取 该新闻文本源代码中相应的新闻文本信息, 并将该新闻文本信息以该相应新闻标题为文本 文件名, 保存于新闻文本目录, 同时将该新闻目录。
5、信息列表中相应更新标识置为关闭状态。 2. 根据权利要求 1 所述的网上新闻信息定期自动抓取方法, 其特征在于, 该新闻目录 匹配模型包括用于获取新闻目录块的表格结构识别组、 用于获取该新闻目录块中新闻目 录条的表行结构识别组, 以及用于获取该新闻目录条中标题和链接地址的单元格结构识别 组。 3. 根据权利要求 1 所述的网上新闻信息定期自动抓取方法, 其特征在于, 该新闻文本 匹配模型包括用于获取新闻信息块的表格结构识别组、 用于获取该新闻信息块中新闻正文 信息条的表行结构识别组, 以及用于获取该新闻正文信息条中文本信息的单元格结构识别 组。 权 利 要 求 书 CN 102929992 A。
6、 2 1/5 页 3 网上新闻信息定期自动抓取方法 技术领域 0001 本发明涉及网上特定信息自动抓取, 特别涉及一种定期自动抓取网上新闻信息的 方法。 背景技术 0002 随着科技的飞速发展, 人类社会生活各个领域信息交流越来越离不开网络技术, 人们可以通过互联网获取特定信息, 并经过整理, 形成为特定人群阅读服务。 比如网上新闻 类信息(就是同类的新闻信息), 网站首先提供一个含有我们感兴趣新闻目录的网页(也称 新闻目录网页, 如图 1 所示 ), 然后逐个打开新闻目录条, 进一步获取新闻文本网页 ( 如图 2 所示 ), 对于有用的新闻文本信息下载保存, 方便其他任务使用, 如将下载的信。
7、息发布在本 单位网站, 或者进一步整理后提供给有关部门。 0003 目前已经有很多关于获取网上信息技术方案, 但对于新闻类信息获取, 还没有能 定期自动启动抓取网上特定信息, 并自动判定更新。 发明内容 0004 为了弥补以上步足, 本发明提供一种网上新闻信息定期自动抓取方法, 能定期启 动网上新闻信息抓取, 并可避免重复获取新闻信息, 节省空间, 提高效率。 0005 本发明的技术方案是这样实现的 : 一种网上新闻信息定期自动抓取方法, 包括以 下步骤 : 0006 第一步, 根据待获取的新闻目录网页中的数据结构特征和源代码语法规则建立新 闻目录匹配模型 ; 0007 第二步, 根据待获取的。
8、新闻文本网页中的数据结构特征和源代码语法规则建立新 闻文本匹配模型 ; 0008 第三步, 基于 MS SQL Server Agent 任务调度管理器, 创建任务组, 该任务组为定 期调动并依次执行如下模块 : 0009 a) 获取新闻目录网页模块, 就是根据该新闻目录网页的 URL 地址获取该网页文件 的新闻目录源代码 ; 0010 b) 抓取及保存新闻地址信息模块, 就是根据该新闻目录匹配模型, 抓取该新闻目 录源代码中的新闻标题和新闻链接地址, 保存于新闻目录信息列表, 并置该新闻目录信息 列表中相应的更新标识为打开状态 ; 0011 c) 更新新闻目录列表模块, 就是屏蔽该新闻目录信。
9、息列表中具有重复新闻标题且 更新标识为打开的新闻目录信息记录 ; 0012 d) 获取新闻文本网页模块, 就是依次根据该新闻目录信息列表中更新标识打开的 新闻链接地址, 获取相应新闻网页文件中的新闻文本源代码, 并根据该新闻文本匹配模型, 抓取该新闻文本源代码中相应的新闻文本信息, 并将该新闻文本信息以该相应新闻标题为 文本文件名, 保存于新闻文本目录, 同时将该新闻目录信息列表中相应更新标识置为关闭 说 明 书 CN 102929992 A 3 2/5 页 4 状态。 0013 作为本发明的进一步改进, 该新闻目录匹配模型包括用于获取新闻目录块的表格 结构识别组、 用于获取该新闻目录块中新闻。
10、目录条的表行结构识别组, 以及用于获取该新 闻目录条中标题和链接地址的单元格结构识别组。 0014 作为本发明的进一步改进, 该新闻文本匹配模型包括用于获取新闻信息块的表格 结构识别组、 用于获取该新闻信息块中新闻正文信息条的表行结构识别组, 以及用于获取 该新闻正文信息条中文本信息的单元格结构识别组。 0015 本发明的有益技术效果是 : 所述新闻目录匹配模型根据待获取的新闻目录网页中 的数据结构特征和源代码语法规则建立, 所述新闻文本匹配模型根据待获取的新闻文本网 页中的数据结构特征和源代码语法规则建立, 由MS SQL Server Agent任务调度管理器, 创 建任务组, 并定期调动。
11、并依次执行获取新闻目录网页模块、 抓取及保存新闻地址信息模块、 更新新闻目录列表模块和获取新闻文本网页模块, 由此完成获取新闻目录网页中全部新闻 标题和链接地址, 保存到新闻目录列表中, 然后根据该新闻目录地址列表中每一新闻标题 的链接地址获取相应新闻文本网页, 在该新闻文本网页中获取需要的新闻文本信息, 并保 存到新闻文本目录中, 所述更新新闻目录列表模块就是屏蔽该新闻目录信息列表中具有重 复新闻标题且更新标识为打开的新闻目录信息记录, 防止重复下载。 附图说明 0016 图 1 为本发明的操作流程图 ; 0017 图 2 为实施例中新闻目录网页局部示意图 ( 仅显示待抓取新闻目录 ) ; 。
12、0018 图 3 为图 2 中新闻目录块的源代码 ; 0019 图 4 为实施例中新闻文本网页局部示意图 ( 仅显示待抓取新闻文本信息 ) ; 0020 图 5 为图 4 中新闻正文信息条的源代码 ; 0021 图 6 为本发明中所述新闻文本目录的示意图 ; 0022 图 7 为本发明中所述文本信息示意图。 具体实施方式 0023 网页文件包含标题、 文本、 图像、 链接、 表格等数据结构特征, 网上新闻类网页通常 由新闻目录网页和新闻文本网页组成, 如图 2 所示, 该新闻目录网页包含同类别的新闻目 录块, 该新闻目录块的源代码包含一个表格结构, 而每一条新闻目录中部分源代码包含该 表格中的。
13、一个表行结构, 而该新闻目录中新闻标题和链接地址就由该表行中一个单元格结 构确定, 由该链接地址指引到对应的新闻文本网页 ; 如图 4 所示, 该新闻文本网页包含有对 应的新闻文本信息, 该新闻文本信息由新闻标题和新闻正文信息组成, 而该新闻正文信息 的源代码含有一个表格结构, 每一段正文信息就对应其中一个表行结构, 本发明 基于这样 网页文件结构提出的。 0024 下面结合附图 1、 图 2、 图 3、 图 4、 图 5、 图 6 和图 7, 以及实施例对本发明的技术方 案作进一步描述 : 0025 一种网上新闻信息定期自动抓取方法, 实施如下步骤 : 0026 第一步, 根据待获取的新闻目。
14、录网页中的数据结构特征和源代码语法规则建立新 说 明 书 CN 102929992 A 4 3/5 页 5 闻目录匹配模型, 该新闻目录匹配模型包括用于获取新闻目录块的表格结构识别组、 用于 获取该新闻目录中新闻目录条的表行结构识别组, 以及用于获取该新闻目录条中标题和链 接地址的单元格结构识别组 ; 0027 如跟踪江苏省科技厅网站中的科技动态之县市创新 (http:/ kjdt/hyxw/index.html) 部分网页 ( 如图 1 所示 )。借助网页浏览器 ( 例如 Windows 系统 自带的 IE 浏览器 ) 具备的 “查看源代码文件” 功能, 可以获取网页文件的源代码, 该科技动。
15、 态之县市创新部分网页的源代码为如图 3 所示, 图中的 “” 为添加的序号, 不属于源代码 部分, 以下如此。 0028 获取上述新闻目录块的表结构识别组为图 3 中序号 A1 和 A23 的下划虚线部 分。 0029 获取该新闻目录块中新闻目录条 ( 如第一条目录 ) 的表行结构识别组为图 3 中序 号 A2 和 A6 的下划虚线部分。 0030 获取该新闻目录条 ( 如第一条目录 ) 中标题和链接地址的单元格结构识别组为 图 3 中序号 A4 的下划虚线部分, 该标题信息由 href=确定, 而该链接地址信息由 title=确定。上述表格中由多个表行组成, 每一表行有一个新闻标题和链接地。
16、址。 0031 第二步, 根据待获取的新闻文本网页中的数据结构特征和源代码语法规则建立新 闻文本匹配模型, 该新闻文本匹配模型包括用于获取新闻信息块的表格结构识别组、 用于 获取该新闻信息块中新闻正文信息条的表行结构识别组, 以及用于获取该新闻正文信息条 中文本信息的单元格结构识别组 ; 0032 如继续跟踪江苏省科技厅网站中科技动态之县市创新中的新闻目录 “2012 中 国 陶 都 ( 宜 兴 ) 金 秋 经 贸 洽 谈 会 隆 重 开 幕” (http:/ sxdt/20121019/14391009342.html) 部分网页 ( 如图 4 所示 ), 该部分网页的源代码如图 5 所示。。
17、 0033 获取该新闻文本信息块的表格结构识别组为图 5 中序号 B1 和 B14 的下划虚 线部分。 0034 获取该新闻正文信息条的表行结构识别组为图 5 中序号 B2 和 B6 的下划虚线 部分。 0035 获取该新闻正文信息条中文本信息的单元格结构识别组为图 5 中序号 B3 和 B5 的下划虚线部分。 0036 第三步, 基于 MS SQL Server Agent 任务调度管理器, 创建任务组, 该任务组为定 期调动并依次执行如下模块 : 0037 a) 获取新闻地址网页模块 : 就是根据该新闻地址网页的 URL 地址获取该网页文件 的新闻地址源代码 ; 0038 网页文件下载可以。
18、基于 Internet Transfer 控件实现, Internet Transfer 控件 是一个 ActiveX 控件, 该控件支持超文本传输协议 (HTTP) 和文件传输协议 (FTP), WEB 正是 基于传输协议。该控件拥有几个基本属性和基本方法, 还有一个基本事件 Stat eChanged。 0039 其中方法 Execute 和 OpenURL 都用于实现网络通信, 方法 Execute 实现异步传输, 而方法 OpenURL 实现同步传输。采用异步传输时在传输信息的过程中, 程序可以执行其它 代码。采用同步传输时程序直到传输过程结束后执行请求同步方式以下的代码。 说 明 书。
19、 CN 102929992 A 5 4/5 页 6 0040 利用VB调用Internet Transfer控件实现网页下载, 获取新闻地址网页模块可以 通过如下程序实现 : 0041 0042 经过VB编译生成该获取新闻地址网页模块的执行文件, 该文件可以在Windows系 统直接执行, 这样便于采用 MS SQL Server Agent 任务调度启动。本发明中其他模块也利 用上述方法完成相应执行文件。 0043 b) 抓取及保存新闻地址信息模块, 就是根据该新闻地址匹配模型, 抓取该新闻地 址源代码中的新闻标题和新闻链接地址, 保存于新闻地址列表, 并置该新闻地址列表中相 应的更新标识为。
20、打开状态 ; 0044 该新闻地址列表用于保存新闻目录记录, 包括新闻标题、 该新闻标题指引的链接 地址以及判定新闻内容是否需要更新的更新标识字段。 0045 c) 更新新闻地址列表模块, 就是屏蔽该新闻地址列表中具有重复新闻标题且更新 标识为打开的新闻地址信息记录 ; 0046 该新闻地址列表保存了上次执行后下载的新闻目录信息, 如果本次获取的新闻标 题与已有的新闻标题相同, 说明该标题下的新闻文本已经下载, 通过屏蔽该新闻标题记录, 减少不必要新闻文本下载, 提高运行效率。 0047 d) 获取新闻文本网页模块, 就是依次根据该新闻地址列表中更新标识打开的新闻 链接地址, 获取相应网页文件。
21、中的新闻文本源代码, 并根据该新闻文本匹配模型, 抓取该新 闻文本源代码中相应的新闻文本信息, 并将该新闻文本信息以该相应新闻标题为文本文件 名 ( 如图 7 所示 ), 保存于新闻文本目录 ( 如图 6 所示 ), 同时将该新闻地址列表中相应更 新标识置为关闭状态。 0048 MS SQL Server Agent 是 SQL Server 携带的一个强有力的辅助应用程序。SQL Server正是依靠该应用程序来实现任务调度功能的。 该应用程序使得系统管理员能够在服 说 明 书 CN 102929992 A 6 5/5 页 7 务器上调度周期性的活动。 0049 为了要实现定期启动网站自动更。
22、新, 在打开 MS SQL Enterprise Manager 时首先 创建新任务 (New Jobs), 其中 SQL Server 任务类型选择 CmdExec, 这类任务将打开 Window 的命令解释器, 然后在解释器里执行命令, 因此只要在命令框里键入由 VB 生成的自动抓 取程序名及路径 ( 即是 a) 获取新闻地址网页模块、 b) 抓取及保存新闻地址信息模块、 c) 更新新闻地址列表模块以及 d) 获取新闻文本网页模块 )。最后为运行的作业创建日程表 (Schedule)。在创建任务调度时可以选择每周 ( 或每月 ) 定期启动。 0050 本发明提供了一种网上新闻信息定期自动抓取的方法, 对于新闻目录网页具有多 页时, 可以在该获取新闻地址网页模块之前, 增加判断新闻目录网页显示页数模块来解决。 说 明 书 CN 102929992 A 7 1/4 页 8 图 1 图 2 说 明 书 附 图 CN 102929992 A 8 2/4 页 9 图 3 说 明 书 附 图 CN 102929992 A 9 3/4 页 10 图 4 图 5 说 明 书 附 图 CN 102929992 A 10 4/4 页 11 图 6 图 7 说 明 书 附 图 CN 102929992 A 11 。