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