如何在BeautifulSoup中以unicode渲染标签内容?

2 投票
1 回答
4161 浏览
提问于 2025-04-15 11:28

这是一个来自WordPress文章详情页的内容:

content = soup.body.find('div', id=re.compile('post'))
title = content.h2.extract()
item['title'] = unicode(title.string)
item['content'] = u''.join(map(unicode, content.contents))

我想在给item['content']赋值的时候,省略掉外面的div标签。有没有什么办法可以把一个标签下的所有子标签都以unicode格式渲染出来?类似于:

item['content'] = content.contents.__unicode__()

这样我就能得到一个单一的unicode字符串,而不是一个列表。

1 个回答

6

你试过这个吗:

unicode(content)

这个代码会把content里的标记转换成一个完整的Unicode字符串。

补充:如果你不想要外面的标签,可以试试这个:

content.renderContents()

撰写回答