你如何解析格式不佳的HTML文件?

ivo*_*ivo 5 html parsing text html-content-extraction

我必须解析一系列网页才能将数据导入应用程序.每种类型的网页都提供相同类型的数据.问题是每个页面的HTML不同,因此数据的位置会有所不同.另一个问题是HTML代码格式不正确,因此无法使用类似XML的解析器.

到目前为止,我能想到的最好的策略是为每种页面定义一个模板,例如:

模板A:

<html>
...
  <tr><td>Table column that is missing a td 
      <td> Another table column</td></tr>
  <tr><td>$data_item_1$</td>
...
</html>
Run Code Online (Sandbox Code Playgroud)

模板B:

<html>
...
  <ul><li>Yet another poorly formatted page <li>$data_item_1$</td></tr>
...
</html>
Run Code Online (Sandbox Code Playgroud)

这样,我只需要对所有的页面一个单独的语法分析器,将每一页,其模板和检索比较$data_item_1$,$data_item_2$等等.不过,这将是大量的工作.你能想到更简单的解决方案吗?任何可以帮助的图书馆?

谢谢

Geo*_*Geo 8

您可以通过整理来传递页面的源代码以获得有效页面.你可以在这里找到整洁 .Tidy对许多编程语言都有绑定.完成此操作后,您可以使用自己喜欢的解析器/内容提取技术.