如何从HTML中提取嵌套表?

uol*_*lot 5 html python html-table extract

我有一个HTML文件(以utf-8编码).我打开它codecs.open().文件架构是:

<html>
// header
<body>
  // some text
  <table>
    // some rows with cells here
    // some cells contains tables
  </table>
  // maybe some text here
  <table>
    // a form and other stuff
  </table>
  // probably some more text
</body></html>
Run Code Online (Sandbox Code Playgroud)

我只需要检索第一个表(丢弃一个表格).首先<table>在相应之后省略所有输入</table>.一些单元格还包含段落,粗体和脚本.每行主表只有一个嵌套表.

如何提取它以获取行列表,其中每个元素包含普通(unicode字符串)单元格的数据和每个嵌套表格的行列表?嵌套不超过1级.

我尝试了HTMLParse,PyParse和re模块,但无法实现这一点.我是Python的新手.

ʞɔı*_*ɔıu 5

尝尝美味的汤

原则上你需要使用一个真正的解析器(Beaut.Soup是),正则表达式无法处理嵌套元素,因为计算机科学原因(有限状态机无法解析无上下文语法,IIRC)