2008-11-25 183 views
0

并非每个网站都能很好地显示其数据,包括XML提要,API等从网站提取信息

我怎么能从网站上提取信息?例如:

... 
<div> 
    <div> 
    <span id="important-data">information here</span> 
    </div> 
</div> 
... 

我来自Java编程和使用Apache XMLBeans编码的背景。当我知道结构和数据在已知标签之间时,有没有类似于解析HTML的东西?

感谢

+0

做这种事情时要小心,特别是如果你打算在同一个网站上点击大量页面,并将它们全部用于数据。这可能会对该网站的性能产生负面影响,并不是很友好。 – xan 2008-11-25 19:48:09

回答

3

这里有几个用于Java的开源HTML解析器。

我以前用过JTidy,并且运气好。它会给你一个HTML页面的DOM,你应该能够从那里获取你需要的标签。

4

Here's an article有一对夫妇用Java编写的屏幕抓取工具。

一般来说,这听起来像你想看看regular expressions,它会做你想要的模式匹配。

希望有帮助!

0

Java对于这样的任务似乎是一个相当困难的约束。这是一个很难的要求?脚本语言非常适合构建真正意义上的最后一英里代码。

如果你打开它,ruby + hpricot使这完全微不足道。您可以使用css或xpath选择器(或两者)来查找(并操作)HTML中的内容。抓取文档,解析文档并提取示例中的文本实际上就是一行代码。