2011-02-04 67 views
5

我需要提供一个基本的URL(如http://www.wired.com),并需要蜘蛛通过输出页面数组(从基本URL)的整个网站。有没有任何图书馆可以做到这一点?寻找一个简单的Java蜘蛛

谢谢。

回答

5

我已经使用Web Harvest几次了,它非常适合网页抓取。

Web-Harvest是开源Web数据 用Java编写的抽取工具。它 提供了一种方法来收集所需的网页并从 中提取有用的数据。为了做到这一点,它利用已经建立的技术 和用于诸如XSLT,XQuery和 正则表达式的text/xml 操作的技术。 Web-Harvest 主要关注基于HTML/XML的web 网站,该网站仍然占据Web内容的绝大多数 。另一方面, 可以很容易地由 自定义Java库进行补充,以便 增强其提取功能。

另外,也可以使用工具,如JTidy首先一个HTML文档转换为XHTML,然后再进行处理您需要XPath信息推出自己的网页刷屏。例如,天真的XPath表达式可以从http://www.wired.com中提取所有超链接,如//a[contains(@href,'wired')]/@href。你可以在这个answer中找到一些类似问题的示例代码。

+0

感谢此资源。我能够成功地适应它。但是,如果网页响应结果为500,则在元素内容中找到输出“无效XML字符(Unicode:0x0)”的刮板失败(例如http://www.allure.com/magazine/flipbook)的文件。“有关此错误消息的任何想法? – rs79 2011-02-22 20:52:42

2

'简单'在这里可能不是一个相关的概念。这是一项复杂的任务。我建议nutch