基于爬虫模式的网络数据搜索方法

文档序号:10594086阅读:539来源:国知局
基于爬虫模式的网络数据搜索方法
【专利摘要】本发明提出了基于爬虫模式的网络数据搜索方法,所述方法包括:执行配置操作以设置配置文件;基于所述配置文件执行初始化操作,以生成基于正则表达式的目录页面和目标页面过滤器以及目标页面路径模板;基于所述目录页面和目标页面过滤器以及目标页面模板执行正式的爬取操作,以从确认的目标网页中获取并存储数据。本发明所公开的基于爬虫模式的网络数据搜索方法具有较高的通用性以及搜索准确性并且使用便捷。
【专利说明】
基于爬虫模式的网络数据搜索方法
技术领域
[0001] 本发明设及数据捜索方法,更具体地,设及基于爬虫模式的网络数据捜索方法。
【背景技术】
[0002] 目前,随着计算机和网络应用的日益广泛W及不同领域的业务种类的日益丰富, 针对网络站点中的网页所包含俄海量数据进行捜索W获得感兴趣的目标数据变得越来越 重要。
[0003] 在现有的技术方案中,通常采用面向主题的聚焦爬虫的方式从网络站点中的网页 中采集数据。
[0004] 然而,上述现有的技术方案存在如下问题:由于一个单独的爬虫程序只能处理某 个独立站点的某一类型结构的页面数据,因而通用性较差,即针对不同的需求需要设计和 编写不同的爬虫程序,从而导致成本增高并且维护困难。
[0005] 因此,存在如下需求:提供具有较高的通用性W及捜索准确性并且使用便捷的基 于爬虫模式的网络数据捜索方法。

【发明内容】

[0006] 为了解决上述现有技术方案所存在的问题,本发明提出了具有较高的通用性W及 捜索准确性并且使用便捷的基于爬虫模式的网络数据捜索方法。
[0007] 本发明的目的是通过W下技术方案实现的: 一种基于爬虫模式的网络数据捜索方法,所述基于爬虫模式的网络数据捜索方法包括 下列步骤: (Al)执行配置操作W设置配置文件; (A2)基于所述配置文件执行初始化操作,W生成基于正则表达式的目录页面和目标页 面过滤器W及目标页面路径模板; (A3)基于所述目录页面和目标页面过滤器W及目标页面模板执行正式的爬取操作,W 从确认的目标网页中获取并存储数据。
[000引在上面所公开的方案中,优选地,所述步骤(Al)进一步包括:设置第一配置文件, 所述第一配置文件用于保存种子URL,所述种子URL是用于触发所述爬取操作的入口链接。
[0009] 在上面所公开的方案中,优选地,所述步骤(Al)进一步包括:设置第二配置文件, 所述第二配置文件用于保存与目标页面相关联的一个或多个关键词,用W辅助针对目标页 面的确认操作,其中,所述第二配置文件进一步用于定义各个关键词之间的逻辑关系。
[0010] 在上面所公开的方案中,优选地,所述步骤(Al)进一步包括:设置第=配置文件, 所述第S配置文件用于保存至少两个已由用户确认的目标页面的URL。
[0011] 在上面所公开的方案中,优选地,所述步骤(Al)进一步包括:设置第四配置文件, 所述第四配置文件用于保存基本配置信息W及其他辅助配置信息。
[0012] 在上面所公开的方案中,优选地,所述步骤(Al)进一步包括:设置第五配置文件, 所述第五配置文件用于保存需爬取的一个或多个标签,其中所述一个或多个标签包含所述 第S配置文件中设置的ML中的第一个所指示的网页的标签及其内容。
[0013] 在上面所公开的方案中,优选地,所述步骤(Al)进一步包括:当所述需爬取的一个 或多个标签中的一个或多个标签的标签内容是数量不固定的多条数据时,则在其对应的标 签内容中保存所述数量不固定的多条数据中的任意两条。
[0014] 在上面所公开的方案中,优选地,所述步骤(Al)进一步包括:当所述需爬取的一个 或多个标签中的一个或多个标签的标签内容是相关子标签页面的链接时,则在所述第五配 置文件的相应位置添加"子标签"标记,该"子标签"标记锁指示的子标签保存子标签页面的 链接和该子标签页面中所要爬取的子标签数据且W特定的符号隔开。
[0015] 在上面所公开的方案中,优选地,所述步骤(A2)进一步包括:从所述第=配置文件 中读取其所保存的所有目标页面的URL,并随之根据所读取的所有ML的共同特点和结构W 及预定的U化正则表达式生成规则生成目标页面正则表达式,其中,所述目标页面正则表达 式和目录页面正则表达式构成所述目录页面和目标页面过滤器。
[0016] 在上面所公开的方案中,优选地,所述步骤(A2)进一步包括:从所述第一配置文件 设置的种子URL出发,W广度优先和最佳优先相结合的方式爬取N个页面,随后将其中的目 录页面依据聚类规则进行聚类,W生成目录页面正则表达式,其中将目录页面定义为指向 目标页面URL的数目大于N的页面。
[0017] 在上面所公开的方案中,优选地,所述聚类规则包括:将来自TOL列表的host部分 相同的U化划归为同一子集,并且每个子集构成一个U化簇;随之将每个U化簇输入聚合器, W将所述抓L簇聚合成多个U化类,每一类U化包含若干个比较相似的URL利用所述U化正则 表达式生成规则,对每簇U化聚合之后产生的每一个URL类都分别生成一条ML正则表达式。
[0018] 在上面所公开的方案中,优选地,所述步骤(A2)进一步包括W如下方式生成目标 页面路径模板:从所述第S配置文件中读取前两条目标页面的m?L并将其指示的HTML文件 下载下来,随后基于所述两个HTML文件中的元素生成树形结构,随之取出两个树中相同的 节点,由此形成一棵新的树,所述新生成的树构成该页面类型的目标页面路径模板。
[0019] 在上面所公开的方案中,优选地,所述步骤(A2)进一步包括W如下方式确定所需 标签精确路径:在确定所述目标页面路径模板后,依次从所述第五配置文件中读取出每个 需爬取的标签,并W所述标签的标签内容为依据先遍历已保存的所述树的叶子节点,若找 到了一个叶子节点的文本内容或属性值与该标签内容相等或包含,则将该叶子节点及该节 点的路径保存到相应的队列中,如果叶子节点没有所需的标签,则自底向上遍历非叶子节 点完成同样的动作。其中,每回溯一个节点时,如果该节点在同一层兄弟节点中没有同名节 点,则在节点路径中直接保存其节点名,而如果同一层中有同名节点,则需要先判断是否有 能区分其他同名节点的属性值,如果有,则在路径中保存该节点名的同时保存该属性名及 属性值,若同名节点中没有运样的属性,则需要保存该节点在运层同名中的相对位置,W便 区分其他节点而能够准确找到该节点。
[0020] 在上面所公开的方案中,优选地,所述步骤(A3)进一步包括:从所述第一配置文件 中保存的入口链接出发W广度优先和最佳优先相结合的方式进行爬取操作,并利用所述目 录页面和目标页面过滤器过滤掉不需要的U化并保留待分析的目录页面和目标页面的m?L, 其中,所述保留的待分析的目录页面和目标页面的URL指示的页面满足所述目标页面正则 表达式和/或目录页面正则表达式,并且所述U化所指示的页面均包含所述一个或多个关键 词中的至少一个;基于所述所需标签精确路径分析所述保留的待分析的目标页面的U化所 指示的页面W获得所需要的标签的目标标签数据。
[0021] 在上面所公开的方案中,优选地,所述步骤(A3)进一步包括:存储所述目标标签数 据W及与爬取操作相关联的异常数据。
[0022] 本发明所公开的基于爬虫模式的网络数据捜索方法具有W下优点:具有较高的通 用性W及捜索准确性并且使用便捷。
【附图说明】
[0023] 结合附图,本发明的技术特征W及优点将会被本领域技术人员更好地理解,其中: 图1是根据本发明的实施例的基于爬虫模式的网络数据捜索方法的流程图。
【具体实施方式】
[0024] 图1是根据本发明的实施例的基于爬虫模式的网络数据捜索方法的流程图。如图1 所示,本发明所公开的基于爬虫模式的网络数据捜索方法包括下列步骤:(Al)执行配置操 作W设置配置文件;(A2)基于所述配置文件执行初始化操作,W生成基于正则表达式的目 录页面和目标页面过滤器W及目标页面路径模板;(A3)基于所述目录页面和目标页面过滤 器W及目标页面模板执行正式的爬取操作,W从确认的目标网页中获取并存储数据。
[0025] 优选地,在本发明所公开的基于爬虫模式的网络数据捜索方法中,所述步骤(Al) 进一步包括:设置第一配置文件,所述第一配置文件用于保存种子URL,所述种子ML是用于 触发所述爬取操作的入口链接(示例性地,所述入口链接是与目标页面相关的初始页面或 者目录页面)。
[0026] 优选地,在本发明所公开的基于爬虫模式的网络数据捜索方法中,所述步骤(Al) 进一步包括:设置第二配置文件,所述第二配置文件用于保存与目标页面相关联的一个或 多个关键词,用W辅助针对目标页面的确认操作(示例性地,所述关键词是在意向目标页面 的源文件中找到一个或几个几乎所有意向目标页面都存在的能够大体上定位目标页面内 容的关键词),其中,所述第二配置文件进一步用于定义各个关键词之间的逻辑关系(例如, "与'、"或"等等)。
[0027] 优选地,在本发明所公开的基于爬虫模式的网络数据捜索方法中,所述步骤(Al) 进一步包括:设置第=配置文件,所述第=配置文件用于保存至少两个已由用户确认的目 标页面的URL。
[0028] 优选地,在本发明所公开的基于爬虫模式的网络数据捜索方法中,所述步骤(Al) 进一步包括:设置第四配置文件,所述第四配置文件用于保存基本配置信息(诸如域名等 等)W及其他辅助配置信息(诸如针对初始化阶段的预爬取操作的最大预爬取数量等等)。
[0029] 优选地,在本发明所公开的基于爬虫模式的网络数据捜索方法中,所述步骤(Al) 进一步包括:设置第五配置文件,所述第五配置文件用于保存需爬取的一个或多个标签,其 中所述一个或多个标签包含所述第S配置文件中设置的U化中的第一个所指示的网页的标 签及其内容(示例性地,标签名称可W由用户根据数据自定义,而标签内容则需要从目标页 面复制下来,或者通过手动输入,但是保存的数据形式一定与页面上的数据保持一致)。
[0030] 优选地,在本发明所公开的基于爬虫模式的网络数据捜索方法中,所述步骤(Al) 进一步包括:当所述需爬取的一个或多个标签中的一个或多个标签的标签内容是数量不固 定的多条数据时(例如评论),则在其对应的标签内容中保存所述数量不固定的多条数据中 的任意两条。
[0031] 优选地,在本发明所公开的基于爬虫模式的网络数据捜索方法中,所述步骤(Al) 进一步包括:当所述需爬取的一个或多个标签中的一个或多个标签的标签内容是相关子标 签页面的链接时,则在所述第五配置文件的相应位置添加"子标签"标记,该"子标签"标记 锁指示的子标签保存子标签页面的链接和该子标签页面中所要爬取的子标签数据且W特 定的符号隔开。
[0032] 优选地,在本发明所公开的基于爬虫模式的网络数据捜索方法中,所述步骤(A2) 进一步包括:从所述第=配置文件中读取其所保存的所有目标页面的U化,并随之根据所读 取的所有U化的共同特点和结构W及预定的TOL正则表达式生成规则生成目标页面正则表 达式,其中,所述目标页面正则表达式和目录页面正则表达式构成所述目录页面和目标页 面过滤器。
[0033] 优选地,在本发明所公开的基于爬虫模式的网络数据捜索方法中,所述步骤(A2) 进一步包括:从所述第一配置文件设置的种子ML出发,W广度优先和最佳优先(例如,最佳 优先方式可W由ML权值的设置和关键词的判断实现)相结合的方式爬取N(例如,N=1000 O) 个页面,随后将其中的目录页面依据聚类规则进行聚类,W生成目录页面正则表达式,其中 将目录页面定义为指向目标页面URL的数目大于N(例如N=5)的页面。
[0034] 优选地,在本发明所公开的基于爬虫模式的网络数据捜索方法中,所述步骤(A2) 进一步包括:将任意U化划分为host、path和queryS个部分,其中pa化部分由一系列目录组 成,queiT部分由一系列键值对组成(例如,如果url是ht1:p://news . qq. com/a/20150415/ 044667 . htm?tu_biz = l. 114 . I . 0&du=l ,则host部分是news . qq . com; path部分是/a/ 20150415/044667.htm;而query部分是 1:u_biz=l. 114.1.0&du=l),由此,所述URL正则表达 味化成細麵加下.
优选地,在本发明所公开的基于爬虫模式的网络数据捜索方法中,所述聚类规则包括: 将来自ML列表的host部分相同的U化划归为同一子集,并且每个子集构成一个U化簇;随之 将每个U化簇输入聚合器,W将所述U化簇聚合成多个U化类,每一类U化包含若干个比较相 似的URL(即运些抓L之间的距离都不大于预设的阔值,例如,可W利用host、path和queryS 个部分中的各个部分之间的距离(即相似程度)来计算U化之间的距离);利用所述m?L正则 表达式生成规则,对每簇U化聚合之后产生的每一个URL类都分别生成一条ML正则表达式。
[0035] 优选地,在本发明所公开的基于爬虫模式的网络数据捜索方法中,所述步骤(A2) 进一步包括W如下方式生成目标页面路径模板:从所述第=配置文件中读取前两条目标页 面的抓L并将其指示的HTML文件下载下来,随后基于所述两个HTML文件中的元素生成树形 结构,随之取出两个树中相同的节点,由此形成一棵新的树,所述新生成的树构成该页面类 型的目标页面路径模板。
[0036] 优选地,在本发明所公开的基于爬虫模式的网络数据捜索方法中,所述步骤(A2) 进一步包括W如下方式确定所需标签精确路径(即通用路径模板):在确定所述目标页面路 径模板后,依次从所述第五配置文件中读取出每个需爬取的标签,并W所述标签的标签内 容为依据先遍历已保存的所述树的叶子节点,若找到了一个叶子节点的文本内容或属性值 与该标签内容相等或包含,则将该叶子节点及该节点的路径保存到相应的队列中,如果叶 子节点没有所需的标签,则自底向上遍历非叶子节点完成同样的动作。其中,每回溯一个节 点时,如果该节点在同一层兄弟节点中没有同名节点,则在节点路径中直接保存其节点名, 而如果同一层中有同名节点,则需要先判断是否有能区分其他同名节点的属性值,如果有, 则在路径中保存该节点名的同时保存该属性名及属性值,若同名节点中没有运样的属性, 则需要保存该节点在运层同名中的相对位置,W便区分其他节点而能够准确找到该节点。
[0037] 优选地,在本发明所公开的基于爬虫模式的网络数据捜索方法中,所述步骤(A3) 进一步包括:从所述第一配置文件中保存的入口链接出发W广度优先和最佳优先(例如,最 佳优先方式可W由URL权值的设置和关键词的判断实现)相结合的方式进行爬取操作,并利 用所述目录页面和目标页面过滤器过滤掉不需要的ML并保留待分析的目录页面和目标页 面的URL,其中,所述保留的待分析的目录页面和目标页面的URL指示的页面满足所述目标 页面正则表达式和/或目录页面正则表达式,并且所述U化所指示的页面均包含所述一个或 多个关键词中的至少一个;基于所述所需标签精确路径分析所述保留的待分析的目标页面 的ML所指示的页面W获得所需要的标签的目标标签数据(即标签内容)。
[0038] 优选地,在本发明所公开的基于爬虫模式的网络数据捜索方法中,所述步骤(A3) 进一步包括:存储所述目标标签数据W及与爬取操作相关联的异常数据。
[0039] 由上可见,本发明所公开的基于爬虫模式的网络数据捜索方法具有下列优点:具 有较高的通用性W及捜索准确性并且使用便捷。
[0040] 尽管本发明是通过上述的优选实施方式进行描述的,但是其实现形式并不局限于 上述的实施方式。应该认识到:在不脱离本发明主旨和范围的情况下,本领域技术人员可W 对本发明做出不同的变化和修改。
【主权项】
1. 一种基于爬虫模式的网络数据搜索方法,所述基于爬虫模式的网络数据搜索方法包 括下列步骤: (Al)执行配置操作以设置配置文件; (A2)基于所述配置文件执行初始化操作,以生成基于正则表达式的目录页面和目标页 面过滤器以及目标页面路径模板; (A3)基于所述目录页面和目标页面过滤器以及目标页面模板执行正式的爬取操作,以 从确认的目标网页中获取并存储数据。2. 根据权利要求1所述的基于爬虫模式的网络数据搜索方法,其特征在于,所述步骤 (Al)进一步包括:设置第一配置文件,所述第一配置文件用于保存种子URL,所述种子URL是 用于触发所述爬取操作的入口链接。3. 根据权利要求2所述的基于爬虫模式的网络数据搜索方法,其特征在于,所述步骤 (Al)进一步包括:设置第二配置文件,所述第二配置文件用于保存与目标页面相关联的一 个或多个关键词,用以辅助针对目标页面的确认操作,其中,所述第二配置文件进一步用于 定义各个关键词之间的逻辑关系。4. 根据权利要求3所述的基于爬虫模式的网络数据搜索方法,其特征在于,所述步骤 (Al)进一步包括:设置第三配置文件,所述第三配置文件用于保存至少两个已由用户确认 的目标页面的URL。5. 根据权利要求4所述的基于爬虫模式的网络数据搜索方法,其特征在于,所述步骤 (Al)进一步包括:设置第四配置文件,所述第四配置文件用于保存基本配置信息以及其他 辅助配置信息。6. 根据权利要求5所述的基于爬虫模式的网络数据搜索方法,其特征在于,所述步骤 (Al)进一步包括:设置第五配置文件,所述第五配置文件用于保存需爬取的一个或多个标 签,其中所述一个或多个标签包含所述第三配置文件中设置的URL中的第一个所指示的网 页的标签及其内容。7. 根据权利要求6所述的基于爬虫模式的网络数据搜索方法,其特征在于,所述步骤 (Al)进一步包括:当所述需爬取的一个或多个标签中的一个或多个标签的标签内容是数量 不固定的多条数据时,则在其对应的标签内容中保存所述数量不固定的多条数据中的任意 两条。8. 根据权利要求7所述的基于爬虫模式的网络数据搜索方法,其特征在于,所述步骤 (Al)进一步包括:当所述需爬取的一个或多个标签中的一个或多个标签的标签内容是相关 子标签页面的链接时,则在所述第五配置文件的相应位置添加"子标签"标记,该"子标签" 标记锁指示的子标签保存子标签页面的链接和该子标签页面中所要爬取的子标签数据且 以特定的符号隔开。9. 根据权利要求8所述的基于爬虫模式的网络数据搜索方法,其特征在于,所述步骤 (A2)进一步包括:从所述第三配置文件中读取其所保存的所有目标页面的URL,并随之根据 所读取的所有URL的共同特点和结构以及预定的URL正则表达式生成规则生成目标页面正 则表达式,其中,所述目标页面正则表达式和目录页面正则表达式构成所述目录页面和目 标页面过滤器。10. 根据权利要求9所述的基于爬虫模式的网络数据搜索方法,其特征在于,所述步骤 (A2)进一步包括:从所述第一配置文件设置的种子URL出发,以广度优先和最佳优先相结合 的方式爬取N个页面,随后将其中的目录页面依据聚类规则进行聚类,以生成目录页面正则 表达式,其中将目录页面定义为指向目标页面URL的数目大于N的页面。11. 根据权利要求10所述的基于爬虫模式的网络数据搜索方法,其特征在于,所述聚类 规则包括:将来自URL列表的host部分相同的URL划归为同一子集,并且每个子集构成一个 URL簇;随之将每个URL簇输入聚合器,以将所述URL簇聚合成多个URL类,每一类URL包含若 干个比较相似的URL;利用所述URL正则表达式生成规则,对每簇URL聚合之后产生的每一个 URL类都分别生成一条URL正则表达式。12. 根据权利要求11所述的基于爬虫模式的网络数据搜索方法,其特征在于,所述步骤 (A2)进一步包括以如下方式生成目标页面路径模板:从所述第三配置文件中读取前两条目 标页面的URL并将其指示的HTML文件下载下来,随后基于所述两个HTML文件中的元素生成 树形结构,随之取出两个树中相同的节点,由此形成一棵新的树,所述新生成的树构成该页 面类型的目标页面路径模板。13. 根据权利要求12所述的基于爬虫模式的网络数据搜索方法,其特征在于,所述步骤 (A2)进一步包括以如下方式确定所需标签精确路径:在确定所述目标页面路径模板后,依 次从所述第五配置文件中读取出每个需爬取的标签,并以所述标签的标签内容为依据先遍 历已保存的所述树的叶子节点,若找到了一个叶子节点的文本内容或属性值与该标签内容 相等或包含,则将该叶子节点及该节点的路径保存到相应的队列中,如果叶子节点没有所 需的标签,则自底向上遍历非叶子节点完成同样的动作,其中,每回溯一个节点时,如果该 节点在同一层兄弟节点中没有同名节点,则在节点路径中直接保存其节点名,而如果同一 层中有同名节点,则需要先判断是否有能区分其他同名节点的属性值,如果有,则在路径中 保存该节点名的同时保存该属性名及属性值,若同名节点中没有这样的属性,则需要保存 该节点在这层同名中的相对位置,以便区分其他节点而能够准确找到该节点。14. 根据权利要求13所述的基于爬虫模式的网络数据搜索方法,其特征在于,所述步骤 (A3)进一步包括:从所述第一配置文件中保存的入口链接出发以广度优先和最佳优先相结 合的方式进行爬取操作,并利用所述目录页面和目标页面过滤器过滤掉不需要的URL并保 留待分析的目录页面和目标页面的URL,其中,所述保留的待分析的目录页面和目标页面的 URL指示的页面满足所述目标页面正则表达式和/或目录页面正则表达式,并且所述URL所 指示的页面均包含所述一个或多个关键词中的至少一个;基于所述所需标签精确路径分析 所述保留的待分析的目标页面的URL所指示的页面以获得所需要的标签的目标标签数据。15. 根据权利要求14所述的基于爬虫模式的网络数据搜索方法,其特征在于,所述步骤 (A3)进一步包括:存储所述目标标签数据以及与爬取操作相关联的异常数据。
【文档编号】G06F17/30GK105955984SQ201610242327
【公开日】2016年9月21日
【申请日】2016年4月19日
【发明人】郑建宾, 李忠洵, 华锦芝, 高峰
【申请人】中国银联股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1