网站首页 > 博客文章 正文
Beautiful Soup是一个用于解析HTML和XML文档的Python库,可以帮助开发者快速提取网页数据。下面是Beautiful Soup库的详细介绍:
安装Beautiful Soup库:
使用pip命令可以方便地安装Beautiful Soup库:
pip install beautifulsoup4
创建Beautiful Soup对象:
在使用Beautiful Soup库之前,需要将HTML或XML文档转换成Beautiful Soup对象。可以使用下面的代码创建一个Beautiful Soup对象:
from bs4 import BeautifulSoup
html_doc = """
<html>
<head>
<title>Beautiful Soup</title>
</head>
<body>
<p class="desc">Beautiful Soup is a Python library for pulling data out of HTML and XML files.</p>
<div class="content">
<ul>
<li><a href="https://www.crummy.com/software/BeautifulSoup/bs4/doc/">Documentation</a></li>
<li><a href="https://www.crummy.com/software/BeautifulSoup/bs4/download/">Download</a></li>
<li><a href="https://www.crummy.com/software/BeautifulSoup/bs4/examples/">Examples</a></li>
</ul>
</div>
</body>
</html>
"""
soup = BeautifulSoup(html_doc, 'html.parser')
在上面的代码中,我们首先定义了一个HTML文档,然后使用BeautifulSoup()函数将其转换成一个Beautiful Soup对象。第二个参数指定了解析器的类型,这里使用的是Python默认的html.parser解析器。
Beautiful Soup对象的属性和方法:
Beautiful Soup对象包含多个属性和方法,用于查询和操作HTML或XML文档。
- .prettify():将Beautiful Soup对象转换成字符串,并添加缩进和换行符,使其易于阅读。
- .find(tag, attrs, recursive, text, **kwargs):查找第一个匹配的标签,并返回Beautiful Soup对象。
- .find_all(tag, attrs, recursive, text, limit, **kwargs):查找所有匹配的标签,并返回Beautiful Soup对象的列表。
- .select(css_selector):根据CSS选择器查找匹配的标签,并返回Beautiful Soup对象的列表。
- .get_text():获取Beautiful Soup对象中所有文本内容,并返回一个字符串。
下面是一个简单的示例代码,展示如何使用Beautiful Soup库提取HTML文档中的数据:
from bs4 import BeautifulSoup
html_doc = """
<html>
<head>
<title>Beautiful Soup</title>
</head>
<body>
<p class="desc">Beautiful Soup is a Python library for pulling data out of HTML and XML files.</p>
<div class="content">
<ul>
<li><a href="https://www.crummy.com/software/BeautifulSoup/bs4/doc/">Documentation</a></li>
<li><a href="https://www.crummy.com/software/BeautifulSoup/bs4/download/">Download</a></li>
<li><a href="https://www.crummy.com/software/BeautifulSoup/bs4/examples/">Examples</a></li>
</ul>
</div>
</body>
</html>
"""
soup = BeautifulSoup(html_doc, 'html.parser')
# 使用 .prettify() 方法将 Beautiful Soup 对象转换成字符串,并添加缩进和换行符
print(soup.prettify())
# 使用 .find() 方法查找第一个匹配的标签
title = soup.find('title')
print(title.string)
# 使用 .find_all() 方法查找所有匹配的标签
links = soup.find_all('a')
for link in links:
print(link.get('href'))
# 使用 .select() 方法根据 CSS 选择器查找匹配的标签
desc = soup.select('.desc')
print(desc[0].get_text())
在上面的代码中,我们首先创建了一个Beautiful Soup对象,然后使用各种属性和方法提取HTML文档中的数据。使用.prettify()方法将Beautiful Soup对象转换成字符串,可以看到HTML文档的结构清晰可见。使用.find()方法查找第一个匹配的标签,使用.find_all()方法查找所有匹配的标签,使用.select()方法根据CSS选择器查找匹配的标签。使用.get_text()方法获取Beautiful Soup对象中的文本内容。
猜你喜欢
- 2024-09-27 蚂蚁SEO的网络蜘蛛如何应用(seo蜘蛛是什么意思)
- 2024-09-27 10《Python 原生爬虫教程》BeatifulSoup 的使用
- 2024-09-27 Python代码片段——第三方库自动安装
- 2024-09-27 「Github一周热点32期」本周最火的5个开源项目
- 2024-09-27 python爬虫CSS 选择器-BeautifulSoup4
- 2024-09-27 一篇文章搞定Python爬虫BeautifulSoup解析库
- 2024-09-27 Python学习——网络爬虫-下载小说
- 2024-09-27 python爬虫07 | 有了BeautifulSoup,妈妈不担心我的正则表达式
- 2024-09-27 使用 Python 的 Requests 和 BeautifulSoup 库爬取网站视频
- 2024-09-27 Python爬虫利器(1)Beautiful Soup
你 发表评论:
欢迎- 最近发表
- 标签列表
-
- ifneq (61)
- 字符串长度在线 (61)
- messagesource (56)
- aspose.pdf破解版 (56)
- promise.race (63)
- 2019cad序列号和密钥激活码 (62)
- window.performance (66)
- qt删除文件夹 (72)
- mysqlcaching_sha2_password (64)
- ubuntu升级gcc (58)
- nacos启动失败 (64)
- ssh-add (70)
- jwt漏洞 (58)
- macos14下载 (58)
- yarnnode (62)
- abstractqueuedsynchronizer (64)
- source~/.bashrc没有那个文件或目录 (65)
- springboot整合activiti工作流 (70)
- jmeter插件下载 (61)
- 抓包分析 (60)
- idea创建mavenweb项目 (65)
- vue回到顶部 (57)
- qcombobox样式表 (68)
- tomcatundertow (58)
- pastemac (61)
本文暂时没有评论,来添加一个吧(●'◡'●)