Python爬虫系列:针对网页信息内容的提取
2021年02月06日 23:10 __ _ _ _ _

人是为活着本身而活着,而不是为了活着之外的任何事物所活着。
——余华《活着》

之前小编提到过网络爬虫的风险,即 保护个人数据/信息 的重要性。
当然,小编这里不是要大家去爬取个人信息,而是因为有这样可能的存在,就越要保护好自己的隐私。
那么我们在爬取网页时如何找到对我们有效的信息呢?或者说,找到后我们又要如何通过Python将一系列的信息打印出来呢?
1.为何要对信息进行提取?
首先,在Python爬虫爬取网页时,是不能将整个网页信息打印出来的,至于为什么,看过网页源代码的就知道,按F12或者右键查看源代码(或者检查也可)可以看出来一个网页包含了很多信息,比如小编的个人博客源代码:

这其中便包含了前端HTML或者其它语言的代码,处理起来就会很繁琐,小编估计也没人这样做过。
在提取信息之前,我们先了解一下 信息的标记
,就好比自己家里有很多物品,为了让别人清楚它的作用,就用小纸条将各种物品的功能写在小纸条并贴在物品上面。
那么 信息标记的好处 也显而易见:
- 标记后的信息可形成信息组织结构,增加了信息维度。
- 标记后的信息可用于通信,存储或展示。
- 标记的结构与信息一样具有重要价值。
- 标记后的信息更有利于程序理解和运用。
To:网页中HTML的信息标记:
H:hyper
T:text
M:markup
L:language
HTML 是www的信息组织形式:可以将声音,图像,视频等超文本信息嵌入到文本中。
HTML通过预定义的<>…<>标签形式组织不同类型的信息。
2.三种信息标记
国际公认的三种 信息标记 :XML,JSON,YAML
XML
XML: XML(extensible Markup Language):扩展标记语言,与HTML很接近的标准语言,采用了 以标签为主 的来构建信息、表达信息的方式。如:
<img scr="china.jpg" size="10">...</img> #img为名称,即Namescr="china.jpg" size="10"是属性Attribute<! >为注释
实例:
<person> <first Name>tian</firstName> <addres> <streeAddr>湖南</streeAddr> <city>长沙</city> </address> <prof>Com</prof></person>
HTML是先于XML出来,也可以说是XML是基于HTML发展而来。
JSON ** JSON: JavsScript Object Notation 是由 有类型的键值对 ** 构建的,如: key:value
实例:“name”:“北京” “name”:[“北京”,“湖南”]
当我们嵌套使用时:“name”:{“newname”:“北京”,“oldname”:“湖南”}
实例:
{ "first Name":"tian", "addres":{ "streeAddr":"湖南" "city":"长沙 }, "prof":["Com","ser"]}
YAML
YAML: Yet Another Markup Language
无类型键值对 key:value
如:name:北京
嵌套时,用缩进表示
特性:|表达整块数据 #表示注释 -表示并列关系
实例:
first Name:tian addres: streeAddr:湖南 city:长沙 prof: -Com -ser
3.三种标签形式的比较
信息标记形式的 简单比较:
XML是一种用<>标签标记信息的形式。
JSON是一种由有类型的键值对信息标记的形式。
YAML是一种用无类型的键值对信息标记的形式。
三种标签形式主流的比较以及用处:
XML: 最早的通用信息标记语言,可扩展性好,但是较为繁琐;多用于Internet上的信息交互与传递以及信息表达。
JSON: 信息有类型,适合程序的处理(比如js),较XML简洁;多用于移动应用云端和节点的信息通信,因为无注释,因此在程序与接口的地方也较为常用。
YAML: 信息无类型,文本信息比例最高,可读性好;多用于各类系统的配置文件,有注释易读。
4.信息提取的三种方法
1.完整解析信息的标记形式,再提取关键信息(解析)
需要标记解析器,例如:bs4库的标签树遍历。
优点:信息解析准确。
缺点:提取过程繁琐,速度慢。
2.无视标记形式,直接搜索关键信息。(搜索)
搜索:对信息发文本查找函数即可。
优点:提取过程简洁,速度较快。
缺点:提取结果准确性与直接信息内容相关。
3.融合方法(搜索+解析):
结合形式解析与搜索方法,提取关键信息。
需要标记解析器以及文本查找函数。
结合上述两种方法,为最佳选择。
Python爬虫系列,未完待续…


为你,千千万万遍.
往期推荐:
Python爬虫系列:安装Scrapy框架的那些事 2021-02-03
一月碎碎念 || 继续下一趟车站 2021-01-31
互联网人的必备技能:系统重装 2021-01-21
一键三连,就差你了
预览时标签不可点
阅读
__











