python - Html 解析与正则表达式

标签 python html regex scala html-parsing

我有一个固定的结构良好的 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/

相关文章:

python - 具有多个组的正则表达式?

python - 为什么单列会导致我的 SVM 花费一个小时?

python numpy 列表操作

python - 跨轴应用蒙版后,Numpy 数组变形

javascript - 如何将变量从javascript函数返回到html主体中

python - Python如何按字符拆分但保持该字符?

python - Pandas 中的 grep -C 等效项

html - 使用translateX代替margin-left的CSS动画,可能吗?

java - 多个复选框选中值

Ruby 正则表达式过滤掉以 "string"后缀结尾的单词