解析HTML表的最佳方法
我对解析下表和其他类似表格感兴趣: 关于这项工作的最佳工具有什么建议吗?在四处搜索之后,我无法决定我应该使用什么,我想在做出承诺之前得到一些反馈解析HTML表的最佳方法,html,xml,parsing,Html,Xml,Parsing,我对解析下表和其他类似表格感兴趣: 关于这项工作的最佳工具有什么建议吗?在四处搜索之后,我无法决定我应该使用什么,我想在做出承诺之前得到一些反馈 我对任何语言/工具都持开放态度。如果您正在寻找HTML解析器,Java中有许多选项: 您可能还想对使用每种方法的利弊进行非常全面的讨论。如果您正在寻找HTML解析器,Java中有许多选项: 您可能还想对使用每种方法的利弊进行非常全面的讨论。对于lynx,我可以做: $ lynx -dump http://www.cityofa
我对任何语言/工具都持开放态度。如果您正在寻找HTML解析器,Java中有许多选项:
您可能还想对使用每种方法的利弊进行非常全面的讨论。如果您正在寻找HTML解析器,Java中有许多选项:
$ lynx -dump http://www.cityofames.org/ftp/routes/Fall/wdreds\&w.html
6:25 6:31 6:36 6:41 ----- 6:46 6:50 6:56
7:02 7:08 7:14 7:20 ----- 7:26 7:30 7:36
----- ----- ----- ----- 7:38 7:43 7:47 7:53 1A
7:28 7:35 7:42 7:48 ----- 7:56 8:00 8:06
----- ----- ----- ----- 7:58 8:03 8:07 8:13 1A
...
使用所选脚本语言进行解析变得非常容易,html2text
也可以工作(从未使用过)
您还可以使用grep/sed对其进行格式化。使用lynx,我可以:
$ lynx -dump http://www.cityofames.org/ftp/routes/Fall/wdreds\&w.html
6:25 6:31 6:36 6:41 ----- 6:46 6:50 6:56
7:02 7:08 7:14 7:20 ----- 7:26 7:30 7:36
----- ----- ----- ----- 7:38 7:43 7:47 7:53 1A
7:28 7:35 7:42 7:48 ----- 7:56 8:00 8:06
----- ----- ----- ----- 7:58 8:03 8:07 8:13 1A
...
使用所选脚本语言进行解析变得非常容易,html2text
也可以工作(从未使用过)
您还可以使用grep/sed对其进行格式化。HTML太难被任何解析器理解。您需要首先使用tidy之类的程序将其转换为类似XHTML的合理紧密的XML格式(用于格式良好-表示匹配的标记)(http://tidy.sourceforge.net/). 然后可以使用XML/XHTML解析器解析格式良好的XML。请注意,您必须根据字体样式处理数据,并将基于字体样式的标记转换为时间数组 下面是解析时可以执行的操作
start TR element
--Create Array
start b element
-- Add One time
end b element
start b element
-- Add second time
end b element
end TR element
HTML太难了,任何解析器都无法理解。您需要首先使用tidy之类的程序将其转换为类似XHTML的合理紧密的XML格式(用于格式良好-表示匹配的标记)(http://tidy.sourceforge.net/). 然后可以使用XML/XHTML解析器解析格式良好的XML。请注意,您必须根据字体样式处理数据,并将基于字体样式的标记转换为时间数组 下面是解析时可以执行的操作
start TR element
--Create Array
start b element
-- Add One time
end b element
start b element
-- Add second time
end b element
end TR element
你想把它解析成什么格式?@Petah:我想把这些列分成时间数组,或者类似的数组。什么样的数组,JSON,PHP,etc@Petah:嗯,我在考虑在本地创建一个新文件,可能采用CSV等格式,以便在其他地方使用。因此,这将有助于实现这一目标。抱歉这么含糊。你想把它解析成什么格式?@Petah:我想把这些列分成时间数组,或者类似的数组。什么样的数组,JSON,PHP,etc@Petah:嗯,我在考虑在本地创建一个新文件,可能采用CSV等格式,以便在其他地方使用。因此,这将有助于实现这一目标。抱歉说得这么含糊。