📌  相关文章
📜  如何使用 BeautifulSoup 抓取嵌套标签?(1)

📅  最后修改于: 2023-12-03 14:51:50.671000             🧑  作者: Mango

如何使用 BeautifulSoup 抓取嵌套标签?

在网页抓取和数据分析的过程中,经常需要用到 Python 的 Beautiful Soup 库来解析 HTML 文件。其中,嵌套标签的抓取是比较常见的情况之一。下面将介绍如何使用 BeautifulSoup 抓取嵌套标签。

1. 安装和导入 BeautifulSoup 库

BeautifulSoup 库需要安装,可通过 pip 命令来安装:

pip install bs4

安装完成后,需要导入库:

from bs4 import BeautifulSoup
2. 解析 HTML 文件

使用 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')
3. 抓取嵌套标签

抓取嵌套标签需要使用连续的 dot 操作符来穿越标签的层次。例如:

soup.body.div.p.get_text()

以上代码获取了<p>标签中的文本内容。其中,.body 表示获取 HTML 文件中的 body 标签,.div 表示获取 body 标签内的 div 标签,.p 表示获取 div 标签内的 p 标签。最后,.get_text() 表示获取 p 标签中的文本内容。

4. 完整代码
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 文件中的嵌套标签。