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
Beautiful Soup 是一个Python,用于从HTML和XML文件中提取数据。它提供了一种简单的方式来遍历、搜索和修改解析树,让你能够轻松地从网页中提取所需的信息。 以下是 Beautiful Soup 的基础入门步骤: 1. 安装 Beautiful Soup: 你可以使用 pip 来安装 Beautiful Soup。在命令行中运行以下命令: ``` pip install beautifulsoup4 ``` 2. 导入 Beautiful Soup: 在你的 Python 脚本中导入 Beautiful Soup 模块: ```python from bs4 import BeautifulSoup ``` 3. 创建 Beautiful Soup 对象: 使用 BeautifulSoup 函数,将要解析的 HTML 或 XML 字符串作为参数传入,并指定解析器,例如 'html.parser': ```python soup = BeautifulSoup(html_doc, 'html.parser') ``` 4. 解析 HTML 结构: 你可以使用不同的 Beautiful Soup 方法来遍历解析树,从而提取数据。例如,你可以使用 `find` 方法来查找符合特定条件的单个元素,或者使用 `find_all` 方法来查找所有符合条件的元素。 ```python # 查找第一个 <p> 标签 paragraph = soup.find('p') # 查找所有 <a> 标签 links = soup.find_all('a') ``` 5. 提取数据: 一旦你找到了所需的元素,你可以使用 Beautiful Soup 提供的各种方法来提取其中的文本或属性。 ```python # 提取 <p> 标签的文本 paragraph_text = paragraph.get_text() # 提取 <a> 标签的 href 属性值 for link in links: href = link['href'] ``` 这只是 Beautiful Soup 的基础入门,它还有更多功能和用法。你可以参考官方文档来深入学习:https://www.crummy.com/software/BeautifulSoup/bs4/doc/
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值