网页解析设计 第1篇
定义:Beautiful Soup 是一个可以从HTML或XML文件中提取数据的Python库.
功能:它能够通过你喜欢的转换器实现惯用的文档导航,查找,修改文档的方式.
优点:Beautiful Soup会帮你节省数小时甚至数天的工作时间.
Beautiful Soup
支持Python
标准库中的HTML解析器,还支持一些第三方的解析器:
网页解析设计 第2篇
每个tag都有自己的名字,通过来获取标签。
注意:如果有多个相同的标签,则会返回第一个。
一个标签可能有很多个属性。例如:标签 有一个 class
的属性,值为 boldest
。标签的属性的操作方法与字典相同。
获取指定标签的单一属性,类似字典方式
注意:最常见的多值的属性是 class (一个标签可以有多个CSS
的class
). 还有一些属性 rel
, rev
, accept-charset
, headers
, accesskey
. 在Beautiful Soup
中多值属性的返回类型是list
。
获取指定标签的单一属性,通过attrs
方式
获取指定标签的所有属性:
通过.text
和.string
获取标签节点的内容,也可以通过.strings
获取标签节点下的所有内容。
网页解析设计 第3篇
标签小技巧获取层级子节点:
.contents
:将标签的子节点以列表的方式输出
.children
:对标签的子节点进行循环
.descendants
:对所有标签的子孙节点进行递归循环
.parent
:获取某个元素的父节点
.parents
:递归得到元素的所有父辈节点
.next_sibling
:获取下级单个兄弟节点
.previous_sibling
:获取上级单个兄弟节点
注意:在使用.next_sibling
和.previous_sibling
获取单个兄弟节点时,兄弟节点之间存在顿号和换行符的可能!!!
网页解析设计 第4篇
find方法,语法格式如下:
参数说明:
通过find
方法搜索指定的标签。
注意:class类样式的处理。
True
可以匹配任何值,如下示例返回第一个节点:
find_all()
方法的基本语法如下:
参数说明:
返回值:
如果找到满足条件的元素,则返回一个包含这些元素的列表。
如果未找到满足条件的元素,则返回一个空列表。
find_add
方法搜索当前标签下所有子节点,并判断是否符合过滤器的条件。
Beautiful Soup
支持大部分的CSS
选择器。在 Tag
或 BeautifulSoup
对象的 .select()
方法中传入字符串参数, 即可使用CSS
选择器的语法找到标签: