📅  最后修改于: 2023-12-03 14:51:50.671000             🧑  作者: Mango
在网页抓取和数据分析的过程中,经常需要用到 Python 的 Beautiful Soup 库来解析 HTML 文件。其中,嵌套标签的抓取是比较常见的情况之一。下面将介绍如何使用 BeautifulSoup 抓取嵌套标签。
BeautifulSoup 库需要安装,可通过 pip 命令来安装:
pip install bs4
安装完成后,需要导入库:
from bs4 import BeautifulSoup
使用 BeautifulSoup 解析 HTML 文件需要传入两个参数:HTML 文件内容和解析方式(一般使用 html.parser)。以抓取<div class="main"><p>hello world</p></div>
为例,首先需要解析 HTML 文件:
html = '''
<html>
<body>
<div class="main">
<p>hello world</p>
</div>
</body>
</html>
'''
soup = BeautifulSoup(html, 'html.parser')
抓取嵌套标签需要使用连续的 dot 操作符来穿越标签的层次。例如:
soup.body.div.p.get_text()
以上代码获取了<p>
标签中的文本内容。其中,.body
表示获取 HTML 文件中的 body 标签,.div
表示获取 body 标签内的 div 标签,.p
表示获取 div 标签内的 p 标签。最后,.get_text()
表示获取 p 标签中的文本内容。
from bs4 import BeautifulSoup
html = '''
<html>
<body>
<div class="main">
<p>hello world</p>
</div>
</body>
</html>
'''
soup = BeautifulSoup(html, 'html.parser')
print(soup.body.div.p.get_text())
以上代码输出:
hello world
因此,我们成功抓取了 HTML 文件中的嵌套标签。