Beautiful Soup介绍

简介: Beautiful Soup介绍

前言


Beautiful Soup是一个可以从HTML或XML文件中提取数据的Python库,简单来说,它能将HTML的标签文件解析成树形结构,然后方便地获取到指定标签的对应属性。通过Beautiful Soup库,我们可以将指定的class或id值作为参数,来直接获取到对应标签的相关数据。简单来说,就是把html或者xml源代码进行了格式化,方便我们对其中的节点、标签、属性等进行进一步的操作。


一、Beautiful Soup的安装以及导入


# 安装
pip install beautifulsoup4
# 看一下是否安装成功
pip list
# 导入beautifulsoup4模块,简称bs4
from bs4 import BeautifulSoup
# bs4库可以简单理解为是一个解析、遍历、维护、‘标签树’的功能库


二、Beautiful Soup的使用

#导入bs4模块
from bs4 import BeautifulSoup
html = """<html><head><title>The Dormouse's story</title></head>
<body> <p class='title'><b>The Dormouse's story</b></p> 
<p class='story'>Once upon a time there were three little sisters; 
and their names were http://example.com/elsie' class='sister' 
id='link1'>Elsie, http://example.com/lacie' class='sister' 
id='link2'>Lacie and http://example.com/tillie' class='sister' id='link3'>Tillie; 
and they lived at the bottom of a well.</p> <p class='story'>...</p> </html>
"""
# html:需要解析的内容,即网页源代码所构成的字符串
# html解析器:html.parser
soup = BeautifulSoup(html,'html.parser')
# 输出结果,即把html输出,排过版的,结构清晰。
print(soup.prettify())
# 输出title
soup.title
# 输出title的名字
soup.title.name
# 输出p标签
soup.p
# 找到所有的p标签
soup.find_all('p')
# 输出p标签的class属性
soup.p['class']



备注:更多关于Beautiful Soup介绍请看参考文章。

参考文章:


Beautiful Soup教程.

Beautiful Soup库(bs4)入门.

python bs4 库简介.


总结


下楼买了萝卜粉丝饼,好吃。

相关文章
|
Linux
CentOS7.X磁盘挂载及取消挂载
CentOS7.X磁盘挂载及取消挂载
8250 0
|
8月前
|
存储 安全 网络安全
如何配置密码策略 - 概述和指南
Active Directory(AD)默认密码策略是确保用户账户安全的重要组成部分,涵盖密码长度、复杂性、历史记录及有效期等关键设置。通过组策略或PowerShell可调整这些策略,以满足企业安全需求。然而,高强度密码策略可能影响用户体验,且面对日益复杂的攻击手段,传统策略已显不足。ADSelfService Plus作为一款企业级AD域密码管理工具,提供密码自助重置、锁定账户解锁、密码黑名单及状态报告等功能,在提升安全性的同时优化用户体验,为企业AD域管理带来高效解决方案。
515 6
|
机器学习/深度学习 计算机视觉
sklearn 中 learning_curve 函数 的详细使用方法 (机器学习)
sklearn 中 learning_curve 函数 的详细使用方法 (机器学习)
661 0
sklearn 中 learning_curve 函数 的详细使用方法 (机器学习)
|
Prometheus 监控 Cloud Native
prometheus-operator入门使用上篇之ServiceMonitor
关于使用Prometheus Operator和Kube-Prometheus Stack进行监控的入门教程,涵盖了从部署到监控云原生和非云原生应用的详细步骤,以及监控失败的排查方法。
1037 3
prometheus-operator入门使用上篇之ServiceMonitor
|
机器学习/深度学习 算法 前端开发
集成学习任务七和八、投票法与bagging学习
集成学习任务七和八、投票法与bagging学习
310 0
|
存储 监控 算法
强密码策略 防止暴力破解
【8月更文挑战第14天】
1139 2
|
负载均衡 算法 网络协议
动态路由的主流算法
【8月更文挑战第3天】BGP 协议使用的算法是路径矢量路由协议(path-vector protocol)。它是距离矢量路由协议的升级版。
|
存储 SQL 数据库
数据库技术探索:基础架构、应用场景与未来展望
一、引言 数据库技术是信息时代的基石,为企业和组织提供了数据存储、检索、分析和管理的核心支撑
STM32CubeMX RS232接口
STM32CubeMX RS232接口
465 0
|
网络架构
路由器路由配置解析
路由器路由配置解析
367 0