004Python -Beautiful Soup库入门

Beautiful Soup 库的基本元素

1、Beautiful Soup库的理解:

  1. beautiful Soup库是解析、遍历、维护“标签树”的功能库

2、 引用方式:

  • from bs4 import BeautifulSoup
  • import bs4
  • 注释:Beautiful Soup 库,也叫beautifulsoup4bs4

3、Beautiful Soup库解析器

soup = BeautifulSoup(’<html>data<html>’,‘html.parser’)

解析器使用方法条件
bs4的HTML解释器BeautifulSoup(mk,‘html.parser’)安装bs4库
lxml的HTML解释器BeautifulSoup(mk,‘lxm’)pip install lxml
lxml的XML解释器BeautifulSoup(mk,‘xml’)pip install lxml
html5lib的解析器BeautifulSoup(mk,‘html5lib’)pip install html5lib

4、BeautifulSoup类的基本元素
<p class = “title”>…</p>

基本元素说明
Tag标签,最基本的信息组织单元,分别用<>和</>表明开头和结尾
Name标签的名字,<p>…</p>的名字是’p’,格式:<tag>.name
Attributes标签的属性,字典形式组织,格式:<tag>.attrs
NavigableString标签内非属性字符串,<>…</>中的字符串,格式:<tag>.string
Comment标签内字符串的注释部分,一种特殊的Comment类型

演示HTML页面地址:https://python123.io/ws/demo.html

5、标签树的下行遍历

属性说明
.conents子节点的列表,将<tag>所有的儿子节点存入列表
.children子节点的迭代类型,与.content类似,用于循环遍历儿子节点
.descendants子孙节点的迭代类型,包含所有的子孙节点,用于循环遍历

6、标签树的平行遍历

属性说明
.next_sibling返回按照HTML文本顺序的下一个平行节点标签
.previous_sibling返回按照HTML文本顺序的上一个平行节点标签
.next_siblings迭代类型,返回按照HTML文本顺序的后续所有平行节点标签
.previous_siblings迭代类型,返回按照HTML文本顺序的前续所有平行节点标签

7、标签树的上行遍历

属性说明
.parent节点的父亲标签
.parents节点先辈标签的迭代类型,用于循环遍历先辈节点

8、HTML内容更加友好显示:soup.prettify()

from bs4 import BeautifulSoup
soup = BeautifulSoup(demo,"html.parser"</font>)
print(soup.prettify())

解释:

prettify()为HTML文本<>及其内容增加了’\n’

9、bs4库的编码

bs4库将任何HTML输入都变成utf-8编码,Python 3.x默认支持编码是utf-8,解析无障碍

附加:HTML基本格式

html
head
title
body
p
b
p
a
a
  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 3
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值