文档详情

Python爬虫大数据采集与挖掘-8.ppt

发布:2025-03-27约2.21千字共30页下载文档
文本预览下载声明

**Python爬虫大数据采集与挖掘(8)

--DeepWeb爬虫与Python实现提纲相关概念DeepWeb特征和采集要求技术架构图书信息采集例子DeepWeb最初由Dr.JillEllsworth于1994年提出。是Web中那些未被搜索引擎收录的页面或站点也可称为invisibleweb、hiddenweb。与其相对的是SurfaceWeb,指的是静态页面。DeepWeb的一些概念数据通常保存于数据库服务器(或专门的文件系统)中,是一种重要的大数据源。数据质量高数据库中的数据由于由于用户、需求相对明确,由专人生产和维护信息,并且难以被复制采集DeepWeb的页面与特定的业务过程有关DeepWeb的数据采集要考虑到数据产生的过程、业务流程限制以及数据语义。提纲相关概念DeepWeb特征和采集要求技术架构图书信息采集例子DeepWeb网页应当满足两个条件一是页面上的数据是存储于数据库、数据文件等地方,而非直接记录在HTML页面文件中;二是,为用户提供一定的查询接口,返回符合条件的记录,并生成HTML页面。对于DeepWeb数据采集来说,通常需要考虑以下因素:(1)对于每个记录的属性和属性值,属性名称一般是不变的,而属性值随查询结果不同而不同。(2)某个属性在查询结果的页面中显示在哪个位置可能是不固定的,甚至会经常调整。(3)各个查询条件的输入值是需要事先确定的。提纲相关概念DeepWeb特征和采集要求技术架构图书信息采集例子DeepWeb的采集技术是基于动态网页采集方法。通常由用户设定查询条件,程序自动将其作为请求的参数,发送给服务器。一般情况下,可以按照动态网页的方式编写DeepWeb采集。但考虑到DeepWeb的查询界面、返回的数据格式经常发生变化,为了适应这种情况,通常加入一定的自适应判断。本节所介绍的技术框架和实现,展示了这种思路。比如图书查询界面可能会调换查询条件的顺序,也可能会修改提示文本,例如将”ISBN”改为”ISBN号”、”作者”改为”编者”等。查询结果也存在类似情况。这些都可能导致爬虫程序失效,因此,本章考虑爬虫的健壮性。三个功能步骤:表单搜寻、表单处理(包括分析、填写与提交)与表单结果处理。所需的具体模块主要包括待采集领域的本体知识库模块、表单爬取模块、表单处理模块以及结果分析模块。这些模块之间以待采集领域的本体知识作为采集的知识基础,通过表单交互的方式深入挖掘领域的数据,并更新知识、存储数据到领域本体知识库。领域本体知识库领域本体主要包括5个基本的建模元语(ModelingPrimitives):类、关系、函数、公理和实例。类也可以理解为概念的集合关系则是领域之中各概念之间的关联关系,基本的关系有kind-of、part-of、instance-of和attribute-of四种函数可以视为关系之中的特殊一种,函数也可以看做流程的一种固化表达公理是领域中公认的真理实例则是对象。以图书领域为例存在图书分类、作者、编者、图书名称、ISBN、出版社、出版时间、版次、页数、开本、印次、包装、纸质、丛书、摘要、内容简介、目录等基本概念概念之间的关系概念的表示国际标准书号号码由13位数字组成…在采集之前对领域及其中的本体需要有基本的概念,并且根据本体的建模结果进行知识库构建。寻找表单寻找进行DeepWeb数据交互的表单可以使用启发式规则去除不符合要求的表单,一些可用的规则如下:给定一个阈值区间,如果需要填写的字段个数超出这个区间范围的表单就忽略或剪除对于给定的表单,如果其中含有特定类型的元素,例如密码框则忽略该表单。将表单输入项中的每个标签与本体知识库进行比较,如果不匹配的比例较大,一般也不是该领域的表单页面。表单处理表单处理模块的技术要点一个是能够识别表单字段内容另一个是能够匹配的填写表单的字段,也即是能够与领域本体知识库中对象属性之间的映射关系产生匹配。识别过程爬虫对表单项的标签、HTML编码中的id、name进行模式识别,一旦发现与库中的概念相同或者接近的,则可以先与概念关联起来。可以使用启发式规则,规则依赖于当前中英文的WEB表单。按照从上往下,从左往右的阅读习惯,可以在表单字段域的左边或者上面获得提示信息和字段标签填写表单按照字段与领域本体知识库中概念相似程度进行匹配,将本体知识库中的属性值作为表项值。由于表单项一般会不只一个,因此在填写表单时应当考虑到,优先选择哪个表单项进行填写。主要的目的是要确保提交的表单查询次数尽量少,并且查询到数据记录之间避免重复。结果处理HTTP的返回内容则需要进行格式、结构、关键字校

显示全部
相似文档