【发布时间】:2015-02-16 16:16:08
【问题描述】:
我需要解析来自我完全无法控制的远程服务器的内容,返回类似于此的内容:
<alpha>
<bravo>123
<charlie>Some
Multiline
Text
</alpha>
<alpha>
<bravo>456
<charlie>More text
</alpha>
BeautifulSoup 通过将其解释为解析标记做了一项有趣的工作:
<html>
<body>
<alpha>
<bravo>123
<charlie>Some
Multiline
Text</charlie></bravo>
</alpha>
<alpha>
<bravo>456
<charlie>More text</charlie></bravo>
</alpha>
</body>
</html>
虽然我想要类似的东西:
<html>
<body>
<alpha>
<bravo>123</bravo>
<charlie>Some
Multiline
Text</charlie>
</alpha>
<alpha>
<bravo>456</bravo>
<charlie>More text</charlie>
</alpha>
</body>
</html>
所以我将其解析为某种alphas 数组,其结构类似于:
[
{ bravo: ... , charlie: ... }
{ bravo: ... , charlie: ... }
]
我不能在下一个换行符之前读取每个节点的内容,因为内容有时会跨越多行。
有人知道我可以解析这个的方法吗?或推荐其他图书馆使用?
【问题讨论】:
-
这么美的汤有什么问题?
-
@JoranBeasley 我无法将
bravo和charlie值分开,因为它会嵌套它们以尝试修复标记
标签: python xml xml-parsing beautifulsoup html-parsing