-
bs4 官方文档
BeautifulSoup4被移植到bs4中,就是说使用时需要from bs4 import BeautifulSoup
-
Beautiful Soup 4.2.0 中文文档
HTML文件其实就是由一组尖括号构成的标签组织起来的,每一对尖括号形成一个标签,标签之间存在上下关系,形成标签树;
因此可以说Beautiful Soup库是解析、遍历、维护“标签树”的功能库。
p标签(
<p></p>
):标签Tag ,一般,标签名都是成对出现的(位于起始和末尾),例如p;在第一个标签名之后可以有0到多个属性,表示标签的特点<p class="title">...</p> # 中间的class属性,其值为“title ”(属性是由键和值,键值对构成的)
可以理解为:HTML文档和标签树,BeautifulSoup类是等价的
-
Beautiful Soup库解析器
解析器 意义 语法 条件 bs4的HTML解析器 默认解析器 BeautifulSoup(mk,‘html.parser’) 安装bs4库 lxml的HTML解析器 需要C语言库 BeautifulSoup(mk,‘lxml’) pip install lxml lxml的XML解析器 需要C语言库,唯一支持XML的解析器 BeautifulSoup(mk,‘xml’) pip install lxml html5lib的解析器 纯Python实现;解析方式与浏览器相同;速度慢;容错性最好 BeautifulSoup(mk,‘html5lib’) pip install html5lib 爬虫程序核心是对网页进行解析,从中提取出自己想要的信息数据。这些数据可能是网址(url、href)、图片(image)、文字(text)、语音(MP3)、视频(mp4、avi……),它们隐藏在网页的html数据中,在各级等级分明的element里面,通常是有迹可循的,否则就没有爬取的必要了。提取的手段主要有三种:xpath、BeautifulSoup、正则表达式(Re)。下面分别进行介绍:
XPath 是一门在 XML 文档中查找信息的语言。
BeautifulSoup是一种在BeautifulSoup()处理后的树形文档中解析的语言
re正则表达式只能对string类型对象进行解析-
Beautiful Soup类的基本元素
Beautiful Soup将复杂HTML文档转换成一个复杂的树形结构,每个节点都是Python对象,所有对象可以归纳为4种:
Tag
:标签,最基本的信息组织单元,分别用<>和</>表明开头和结尾。HTML标签加上里面的属性共同构成Tag
print soup.title #<title>The Dormouse's story</title> print soup.p #<p class="title" name="dromouse"><b>The Dormouse's story</b></p> # 通过soup+标签名获取标签内容;只会获取发现的第一个标签 print
-