Html 解析与正则表达式

Hüs*_*gin 3 html python regex scala html-parsing

我有一个固定的结构良好的 html 源,传入的数据清晰且小,只包含一些 div 列表。我知道使用 html 解析器进行 html 解析,但这看起来像是一种特殊情况,我不确定应该使用哪一个。问题情况如下

  • 数据清晰且结构良好
  • 数据量小
  • 性能很重要,应用程序必须能够获取尽可能多的数据
  • 应用程序将数据写入MongoDB数据库
  • 实现编程语言为 Scala 或 Python

任何意见都很有价值,那我该怎么办?

ale*_*cxe 7

我仍然会坚持使用 HTML 解析器,因为至少有特定的数据格式和理解该格式的专用工具。

如果性能在这里很重要,那么有一个非常快的lxml软件包。对于 HTML,请使用lxml.html.

您还可以使用很棒的BeautifulSoup包并让它lxml在底层使用解析器。此外,如果您需要解析的数据位于 HTML 文档的特定部分,则可以通过要求BeautifulSoup仅解析 HTML 文档的相关部分来获得性能增益,请参阅:仅解析文档的一部分

而且,为了遵循 HTML+regex 线程的传统,这里是对著名主题的引用,其中涵盖了为什么不应该使用 regex 来解析 HTML 的原因: