Beautiful Soup是Python中常用的HTML/XML解析库,它可以将HTML/XML文档解析为树形结构,方便用户进行各种操作。
以下是Beautiful Soup库的一些主要功能和示例:
1、解析HTML/XML文档
使用Beautiful Soup解析HTML/XML文档非常简单,只需使用BeautifulSoup
类即可。例如,以下代码演示了如何使用Beautiful Soup解析HTML文档:
from bs4 import BeautifulSoup
html_doc = """
<html>
<head>
<title>Example HTML Document</title>
</head>
<body>
<h1>Example HTML Document</h1>
<p>This is an example HTML document.</p>
<ul>
<li>Item 1</li>
<li>Item 2</li>
<li>Item 3</li>
</ul>
</body>
</html>
"""
soup = BeautifulSoup(html_doc, 'html.parser')
print(soup.prettify())
输出结果为:
<html>
<head>
<title>
Example HTML Document
</title>
</head>
<body>
<h1>
Example HTML Document
</h1>
<p>
This is an example HTML document.
</p>
<ul>
<li>
Item 1
</li>
<li>
Item 2
</li>
<li>
Item 3
</li>
</ul>
</body>
</html>
2、查找元素
使用Beautiful Soup查找HTML/XML文档中的元素非常方便。可以使用find()
或find_all()
方法进行查找。例如,以下代码演示了如何查找HTML文档中的<h1>
元素:
from bs4 import BeautifulSoup
html_doc = """
<html>
<head>
<title>Example HTML Document</title>
</head>
<body>
<h1>Example HTML Document</h1>
<p>This is an example HTML document.</p>
<ul>
<li>Item 1</li>
<li>Item 2</li>
<li>Item 3</li>
</ul>
</body>
</html>
"""
soup = BeautifulSoup(html_doc, 'html.parser')
h1 = soup.find('h1')
print(h1.text)
输出结果为:Example HTML Document
。
3、修改元素
使用Beautiful Soup修改HTML/XML文档中的元素非常简单。例如,以下代码演示了如何修改HTML文档中的<h1>
元素:
from bs4 import BeautifulSoup
html_doc = """
<html>
<head>
<title>Example HTML Document</title>
</head>
<body>
<h1>Example HTML Document</h1>
<p>This is an example HTML document.</p>
<ul>
<li>Item 1</li>
<li>Item 2</li>
<li>Item 3</li>
</ul>
</body>
</html>
"""
soup = BeautifulSoup(html_doc, 'html.parser')
h1 = soup.find('h1')
h1.string = 'New Title'
print(soup.prettify())
输出结果为:
<html>
<head>
<title>
Example HTML Document
</title>
</head>
<body>
<h1>New Title</h1>
<p>This is an example HTML document.</p>
<ul>
<li>
Item 1
</li>
<li>
Item 2
</li>
<li>
Item 3
</li>
</ul>
</body> </html> ```
4、删除元素
使用Beautiful Soup删除HTML/XML文档中的元素也非常简单。例如,以下代码演示了如何删除HTML文档中的<p>
元素:
from bs4 import BeautifulSoup
html_doc = """
<html>
<head>
<title>Example HTML Document</title>
</head>
<body>
<h1>Example HTML Document</h1>
<p>This is an example HTML document.</p>
<ul>
<li>Item 1</li>
<li>Item 2</li>
<li>Item 3</li>
</ul>
</body>
</html>
"""
soup = BeautifulSoup(html_doc, 'html.parser')
p = soup.find('p')
p.extract()
print(soup.prettify())
输出结果为:
<html>
<head>
<title>
Example HTML Document
</title>
</head>
<body>
<h1>
Example HTML Document
</h1>
<ul>
<li>
Item 1
</li>
<li>
Item 2
</li>
<li>
Item 3
</li>
</ul>
</body>
</html>
以上就是Beautiful Soup库的主要功能和示例。Beautiful Soup还有许多其他功能,例如修改元素属性、处理字符串、遍历树形结构等。