没有合适的资源?快使用搜索试试~ 我知道了~
《网络数据采集》第4章课件201911221
需积分: 0 0 下载量 48 浏览量
2022-08-04
00:27:08
上传
评论
收藏 1.02MB PDF 举报
温馨提示
![preview](https://dl-preview.csdnimg.cn/86318439/0001-f8021739837fb17982bae7116ec72975_thumbnail.jpeg)
![preview-icon](https://csdnimg.cn/release/downloadcmsfe/public/img/scale.ab9e0183.png)
试读
39页
第4章 Web页面内容解析1 课前引导上一讲,我们介绍了简单网络爬虫的设计思路,以及如何根据URL获取web页面。这一讲,我们将介绍如何实现Web页面内容的解析
资源详情
资源评论
资源推荐
![](https://csdnimg.cn/release/download_crawler_static/86318439/bg1.jpg)
网络
爬
虫
与
数
据
采
集
课
程
第
4
章
Web
页
面
内
容
解
析
1
课
前
引
导
上一讲,我们介绍了简单网络爬虫的设计思路,以及如何根据URL获取web页面。
这一讲,我们将介绍如何实现Web页面内容的解析。
2
上
节
回
顾
使用urllib获取页面内容
使用requests获取页面内容
3
本
节
课
程
主
要
内
容
内容列表:
本节目标
实现Web页面内容解析的方法
文本内容的解析
类XML内容的解析
JSON数据的解析
OFFICE文档的解析
数据库文件的解析
本节总结
课后练习
3.1
本
节
目
标
本节课的主要目标在于:
了解Web内容的三种类型
能够通过分析,针对不同类型选择合适的解析方法;
![](https://csdnimg.cn/release/download_crawler_static/86318439/bg2.jpg)
能够根据实际需要,写出正则表达式,构建匹配方法,能够从文本中获取兴趣信息;
能够根据实际需要,编写xpath查询字符串,从类xml中提取兴趣信息;
能够使用json、pandas、python-docx等库提取json、word、excel和数据库中的数据,将其转换为
python数据结构数据。
重点内容:
文本内容的解析
类XML内容的解析
难点内容:
正则表达式解析文本
3.2
实
现
Web
页
面
内
容
解
析
的
方
法
3.2.1
知
识讲
解
当我们可以使用自定义的爬虫程序访问目标Web网页,获取Web页面内容之后,会发现其中仅有部分内
容是用户兴趣数据。这时,我们需要使爬虫程序能够“去粗取精”,换句话说,就是要对页面内容组成进
行解析,提取出用户兴趣数据。
如何实现内容解析呢?
在实践中,有3种基本思路:
第
一
种
,
全
局
解
析
方
法
。
这种方法根据构成Web文档树形标记结构,构建Web页面的全局DOM模型,将Web页面整体映射为内
存中的DOM对象。
这种方式的优点是内容完整、元素内部关系准确;而缺点是占用较多内存,处理速度较慢。
第
二
种
方
式
,
局
部
解
析
方
法
。
这种方式不在内存中构建Web页面的全局DOM对象,而是利用逐步加载文本的流式读取程序,提取局部
Web元素或文本。
这种方式比较适合处理较大Web文档,节约内存。
缺点是提取结果的准确性和完整性较第一种方式略弱。
第
三
种
方
式
,
适
应
性
方
法
。
适应性方法是结合前两种方法的混合型方法。
![](https://csdnimg.cn/release/download_crawler_static/86318439/bg3.jpg)
在解析前先预判目标Web文档的大小,然后根据一定的阈值,确定处理方式。例如,文档大小超过1MB
的Web页面,采用局部解析,而小于1MB这个阈值的Web页面,可以采用全局解析。
处
理
流
程
刚才,我们介绍了解析Web页面的基本思路,那么在具体处理时,应该怎么做呢?
首先我们要了解待处理的数据类型,对不同类型的数据采用不同的解析方法。一般来说,网络爬虫需要
解析的数据可以分为三类:
第一类是无结构的文本数据,例如常见的txt纯文本数据;
第二类是半结构化的标记型数据,例如HTML网页、Json数据、Xml文档、Yaml数据等等;
第三类是结构化的数据,例如关系数据库文件、Excel电子表格文件、Word文件等等;
针对不同类型的数据,需要不同的数据解析方法。这部分内容,我们将在下一小结重点介绍。
需要注意的是,我们这里讲的数据解析不是指对数据全局的理解,而是指在文档中找到用户兴趣内容并
提取出来。这是因为网络爬虫程序的关键目标是获取有价值的数据,而不是完成文档的语义级分析。
3.2.2
案
例
与
应
用
头条就是一个综合型的爬虫。
3.2.3
模
块
练
习与
答
案
练
习
网络爬虫需要解析的内容类型有哪些?
其它见习题集。
答
案
可以分为三类:
第一类是无结构的文本数据,例如常见的txt纯文本数据;
第二类是半结构化的标记型数据,例如HTML网页、Json数据、Xml文档、Yaml数据等等;
第三类是结构化的数据,例如关系数据库文件、Excel电子表格文件、Word文件等等。
3.2.4
内
容
小
结
这一小结,我们主要讲解了解析web页面内容的三种方法,分别是:
全局法
局部法
适应性方法
![](https://csdnimg.cn/release/download_crawler_static/86318439/bg4.jpg)
我们还介绍了三种类型的内容,对应这三种类型的解析方式是不同的。
无结构
半结构
结构化数据
3.3
文
本
内
容
的
解
析
在这一小结,我们主要介绍如何使用正则表达式来解析文本内容,即使用正则表达式对兴趣文本进行定
位和提取。
3.3.1
知
识讲
解
正则表达式,又称规则表达式,通常被用来检索、替换那些符合某个模式(规则)的文本。正则表达式是
对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一
个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。
给定一个正则表达式和另一个字符串,我们可以达到如下的目的:
一是给定的字符串是否符合正则表达式的过滤逻辑(这个过程可称为“匹配”);
二是通过正则表达式,从文本字符串中获取我们想要的特定部分(这个过程可称为“过滤”)。
具体步骤,如下图所示:
有关正则表达式的一些语法规则,可以参考下表:
![](https://csdnimg.cn/release/download_crawler_static/86318439/bg5.jpg)
剩余38页未读,继续阅读
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pptx](https://img-home.csdnimg.cn/images/20210720083543.png)
![pptx](https://img-home.csdnimg.cn/images/20210720083543.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![pptx](https://img-home.csdnimg.cn/images/20210720083543.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pptx](https://img-home.csdnimg.cn/images/20210720083543.png)
![pptx](https://img-home.csdnimg.cn/images/20210720083543.png)
![pptx](https://img-home.csdnimg.cn/images/20210720083543.png)
![pptx](https://img-home.csdnimg.cn/images/20210720083543.png)
![ppt](https://img-home.csdnimg.cn/images/20210720083527.png)
![pptx](https://img-home.csdnimg.cn/images/20210720083543.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![avatar](https://profile-avatar.csdnimg.cn/598bdcc8dfa54f7ba1d6029a262c6972_weixin_35799294.jpg!1)
郑瑜伊
- 粉丝: 19
- 资源: 317
上传资源 快速赚钱
我的内容管理 展开
我的资源 快来上传第一个资源
我的收益
登录查看自己的收益我的积分 登录查看自己的积分
我的C币 登录后查看C币余额
我的收藏
我的下载
下载帮助
![voice](https://csdnimg.cn/release/downloadcmsfe/public/img/voice.245cc511.png)
![center-task](https://csdnimg.cn/release/downloadcmsfe/public/img/center-task.c2eda91a.png)
安全验证
文档复制为VIP权益,开通VIP直接复制
![dialog-icon](https://csdnimg.cn/release/downloadcmsfe/public/img/green-success.6a4acb44.png)
评论0