




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
Python爬虫大数据采集与挖掘(8)
--DeepWeb爬虫与Python实现《Python爬虫大数据采集与挖掘》第二版.微课视频版(清华大学出版社,2025)提纲相关概念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的返回内容则需要进行格式、结构、关键字校验对返回的结果进行自动提取时,需要将每个记录的内容与字段对应起来。(1)记录集的样式判断,记录集可以按照横向、纵向来组织,需要分析字段名称是显示在第一行或第一列。(2)结果集中的字段名称与表单项可能不完全一致,也可能出现新的字段名称,需要对字段标签进行再分析。提纲相关概念DeepWeb特征和采集要求技术架构图书信息采集例子/advsearch确认没有被disallow图书查询目标使用“出版社”进行查询自动寻找“出版社”所在的位置(因今后版面可能调整)自动填写出版社名称自动提交命令自动解析结果#定位input标签:寻找“出版社”对应的参数名称
input_tag_name=''
conditions=soup.select('.box2>.detail_condition>label')
print('共找到%d项基本条件,正在寻找input标签'%len(conditions))
foriteminconditions:
text=item.select('span')[0].string
iftext=='出版社':
input_tag_name=item.select('input')[0].get('name')
print('已经找到input标签,name:',input_tag_name)
提交方式的分析查询提交的表单的源代码#图书查询表单<formid="form1"method="GET"action=""name="form1">...</form>method="GET"表明这个表单使用get方式提交。通过URL:对应get方式。get提交表单会将表单内的数据转化为url参数进行提交。在提交表单后,可以在浏览器
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 2025年电荷量考试题及答案
- 2025年心理生命知识竞赛题库
- 2025年舞蹈教资笔试试题及答案
- 2025年小学生美术试题及答案
- 2025年论语竞赛题库答案解析
- 2025汽车修理工(技师)上岗证题目及答案
- 2025年主治(主管)医师考试试题附答案
- 2025年在编老师考试试题及答案
- 2025年冬季奥运测试题及答案
- 2025年秋招:建筑工程技术人员笔试题库及答案
- 2025年护理知识竞赛考试试题库(答案+解析)
- 陕西事业单位考试真题2024
- 2025电子产品租赁合同模板
- 基于Hive数据仓库的瓜子网二手车数据分析系统设计与实现
- 阑尾炎术前术后健康宣教
- 软件硬件资产管理办法
- 保密培训资料课件
- 江苏水利签证管理办法
- 采购面料知识培训课件
- 商务茶艺教学课件
- 留置看护队员试题及答案
评论
0/150
提交评论