我正在创建解析器,并且我有以下构造:
quotes = soup.findAll('div',{'class':'text'})
但它剥离了所有 html 标签(如 br)。我怎样才能改变它?
我正在创建解析器,并且我有以下构造:
quotes = soup.findAll('div',{'class':'text'})
但它剥离了所有 html 标签(如 br)。我怎样才能改变它?
如果你想从文本中取出标签,你可以尝试这样的事情:
for item in quotes:
quote = re.sub(r"\<.*?\>", "", quote)
findAll
它本身会给你一个 HTML 节点列表。
如果要检索其文本内容(不带标签),请使用.get_text()
.
要获取这些节点的子节点(也作为对象),请使用.contents
or.children
。
为了将节点的子节点打印为格式良好的字符串,您可以使用.prettify()
. 请注意,这不会完全保留原始格式。
另请参阅:
BeautifulSoup innerhtml?