使用BeautifulSoup在HTML中搜索和替换

14 投票
3 回答
40663 浏览
提问于 2025-04-15 18:04

我想用BeautifulSoup来搜索并替换 <\a> 标签,把它替换成 <\a><br>。我知道怎么用 urllib2 打开网页,然后解析来提取所有的 <a> 标签。我的目标是把结束标签替换成结束标签加上换行标签。希望能得到一些帮助,非常感谢。

编辑

我想这可能类似于:

soup.findAll('a').

在文档中,有一段:

find(text="ahh").replaceWith('Hooray')

所以我想这可能是这样的:

soup.findAll(tag = '</a>').replaceWith(tag = '</a><br>')

但这样做不行,而且Python的帮助文档也没有提供太多信息。

3 个回答

5

假设你有一个元素,里面包含了“br”标签。如果你想把这些“br”标签去掉,并且换成其他的字符串,可以这样做:

originalSoup = BeautifulSoup("your_html_file.html")
replaceString = ", " # replace each <br/> tag with ", "
# Ex. <p>Hello<br/>World</p> to <p>Hello, World</p>
cleanSoup = BeautifulSoup(str(originalSoup).replace("<br/>", replaceString))

撰写回答