首页 > 解决方案 > Beautifulsoup -
在 div 文本中添加标签?

问题描述

尝试使用 beautifulsoup 对 html 文件进行更改。我想在下面的 div 类中的每个项目符号点之后添加一个新行。我已经尝试过 text.replace 函数(使用'\n'),但它在终端之外不起作用,因为 html 只创建带有 br 标签的新行。有没有办法在每个项目符号的末尾插入换行符?

HTML 代码:

<div class="recipe"> ■ Boil water to high heat ■ Put eggs in water ■ Put on lid ■ Wait 8 - 12 minutes ■ Take out eggs ■ Serve</div>

当我在网页上查看它时,它目前看起来是这样的:
■ 将水煮沸 ■ 将鸡蛋放入水中 ■ 盖上盖子 ■ 等待8-12分钟 ■ 取出鸡蛋 ■ 上桌

我希望它看起来像这样:
■ 将水煮至高温
■ 将鸡蛋放入水中
■ 盖上盖子
■ 等待 8 - 12 分钟
■ 取出鸡蛋
■ 上桌

我用来添加新行的代码(仅适用于打印功能)。如果没有打印功能,它只是将所有的 '■' 替换为 '\n■' 而不会在 html 文件中创建新行。

for div in soup.find_all("div", {'class':'recipe'}): 
    print(div.text.replace('■','\n■'))

标签: pythonhtmlpython-3.xweb-scrapingbeautifulsoup

解决方案



推荐阅读