简介
BeautifulSoup 是一个可以从 HTML 和 XML 文件中提取数据的 Python 库。
它可以通过你最喜欢的解析器实现遍历、查找和修改网页数据的功能,可以节省大量时间。
安装
安装 BeautifulSoup :
pip install bs4
注意:安装完之后需要重启 VScode 才可以正常导入。
安装解析器:
在这里插入代码片
基本用法
html_doc = """<html><head><title>睡鼠的故事</title></head>
<body>
<p class="title"><b>睡鼠的故事</b></p>
<p class="story">从前有三位小姐姐,她们的名字是:
<a href="http://example.com/elsie" class="sister" id="link1">埃尔西</a>,
<a href="http://example.com/lacie" class="sister" id="link2">莱斯</a>和
<a href="http://example.com/tillie" class="sister" id="link3">蒂尔莉</a>;
她们住在一个井底下面。</p>
<p class="story">...</p>"""
from bs4 import BeautifulSoup
soup = BeautifulSoup(html_doc, "html.parser")
print(soup.prettify())
将按照文档的嵌套结构输出。
遍历结构化数据的常用方法
>>> soup.title
<title>睡鼠的故事</title>
>>> soup.title.name
'title'
>>> soup.title.string
'睡鼠的故事'
>>> soup.title.parent.name
'head'
>>> soup.p
<p class="title"><b>睡鼠的故事</b></p>
>>> soup.p['class']
['title']
>>> soup.a
<a class="sister" href="http://example.com/elsie" id="link1">埃尔西</a>
>>> soup.find_all('a')
[<a class="sister" href="http://example.com/elsie" id="link1">埃尔西</a>, <a class="sister" href="http://example.com/lacie" id="link2">莱斯</a>, <a class="sister" href="http://example.com/tillie" id="link3">蒂尔莉</a>]
>>> soup.find(id='link3')
<a class="sister" href="http://example.com/tillie" id="link3">蒂尔莉</a>
从文档中找到所有 标签的链接:
>>> for link in soup.find_all('a'):
print(link.get('href'))
http://example.com/elsie
http://example.com/lacie
http://example.com/tillie
从文档中获取所有的文本:
>>> print(soup.get_text())
睡鼠的故事
睡鼠的故事
从前有三位小姐姐,她们的名字是:
埃尔西,
莱斯和
蒂尔莉;
她们住在一个井底下面。
...
更多详细用法参见官网