用 TIDY 清理了一个充满 HTML 文件的文件夹后,如何提取表格内容以进行进一步处理?
6 回答
过去,我曾将 BeautifulSoup 用于此类事情并取得了巨大成功。
取决于你想要做什么样的处理。您可以告诉 Tidy 生成 XHTML,它是一种 XML,这意味着您可以对结果使用所有常用的 XML 工具,例如 XSLT 和 XQuery。
如果您想在 Microsoft Excel 中处理它们,那么您应该能够从 HTML 中切出表格并将其放入文件中,然后在 Excel 中打开该文件:它会很高兴地将 HTML 表格转换为电子表格页面。然后,您可以将其保存为 CSV 或 Excel 工作簿等。(您甚至可以在 Web 服务器上使用它——返回 HTML 表格,但将Content-Type
标题设置为application/ms-vnd.excel
:Excel 将打开并导入表格并将其转入电子表格.)
如果您希望将 CSV 输入数据库,那么您可以像以前一样通过 Excel,或者如果您想自动化该过程,您可以编写一个程序,使用您选择的 XML 导航 API 来迭代表行和将它们保存为 CSV。Python 的 Elementtree 和 CSV 模块将使这变得非常容易。
在查看了这些建议后,我最终使用了HtmlUnit。
使用 HtmlUnit,我能够自定义 Java 代码以打开文件夹中的每个 HTML 文件,导航到 TABLE 标记,查询每列内容并提取创建 CSV 文件所需的数据。
在 .NET 中,您可以使用HTMLAgilityPack。
有关更多信息,请参阅StackOverflow 上的上一个问题。
如果你想从 HTML 标记中提取内容,你应该使用某种类型的 HTML 解析器。为此,那里有很多,这里有两个可能适合您的需求:
http://jtidy.sourceforge.net/
http://htmlparser.sourceforge.net/
遍历文本并使用正则表达式:)