如何在BeautifulSoup中以unicode呈现标记的内容?

muh*_*huk 2 python xml screen-scraping web-applications beautifulsoup

这是来自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))
Run Code Online (Sandbox Code Playgroud)

我想div在分配时省略封闭标记item['content'].有没有办法在unicode中呈现标签的所有子标签?就像是:

item['content'] = content.contents.__unicode__()
Run Code Online (Sandbox Code Playgroud)

这将给我一个unicode字符串而不是列表.

Aym*_*ieh 6

你有没有尝试过:

unicode(content)
Run Code Online (Sandbox Code Playgroud)

它将content标记转换为单个Unicode字符串.

编辑:如果您不想要封闭标记,请尝试:

content.renderContents()
Run Code Online (Sandbox Code Playgroud)

  • 我检查了文档和源代码,但是我找不到将内容作为单个Unicode对象返回的方法.renderContents()返回以UTF-8编码的字符串.因此,将renderContents()的结果转换为Unicode对象是我能找到的最佳方法. (2认同)