我有一个固定的结构良好的 html 源,传入的数据清晰且小,只包含一些 div 列表。我知道使用 html 解析器进行 html 解析,但这看起来像是一种特殊情况,我不确定应该使用哪个。问题情况如下
- 数据清晰且结构合理
- 数据量小
- 性能很重要,应用程序必须能够获取尽可能多的数据
- 应用程序将数据写入MongoDB数据库
- 实现编程语言将是Scala或Python
任何意见都很有值(value),我该怎么办?
最佳答案
我仍然会坚持使用 HTML 解析器,因为至少有一种特定的数据格式和一种理解该格式的专用工具。
如果性能在这里很重要,那么有一个非常快的 lxml
包裹。对于 HTML,使用 lxml.html
.
您还可以使用很棒的 BeautifulSoup
包和let it use lxml
parser under-the-hood .此外,如果您需要解析的数据位于 HTML 文档的特定部分,您可以通过让 BeautifulSoup
仅解析 HTML 文档的相关部分来提高性能,详情请见: Parsing only part of a document .
并且,为了遵循 HTML+regex 线程的传统,这里引用了一个著名的主题,其中包含为什么不应该使用 regex 来解析 HTML 的原因:
关于python - Html 解析与正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26318806/