在应用程序中抓取网站的最佳架构

时间:2012-08-27 07:57:26

标签: java spring hibernate architecture

我正在开发一种产品,我们需要一种功能来抓取用户给定的URL并发布其独立的移动网站。在抓取过程中,我们希望抓取网站内容,CSS,图片和脚本。该产品用于执行更多活动,例如安排一些营销活动和所有活动。我想问的是什么 -

执行此任务的最佳实践和开源框架是什么?

我们应该在应用程序本身中执行此操作,还是应该有另一台服务器来执行此活动(如果此活动需要加载)?请记住,我们每个月都有1个“缺乏”用户访问,从网站上发布他的移动网站,以及大约1-2k并发用户。

该应用程序使用Java和Java EE平台构建,使用Spring和Hibernate作为服务器端技术。

2 个答案:

答案 0 :(得分:1)

我们使用Derkley DB Java版来管理链接的堆外队列以进行爬网,并区分待下载的链接和尚未下载的链接。

解析HTML TagSoup是野外互联网中最好的选择。

Batik是解析CSS和SVG的选择。

PDFBox非常棒,允许从PDF中提取链接

Quartz调度程序是事件调度的行业验证选择。

是的,您需要一台或多台服务器进行爬网,一台服务器用于聚合结果和调度任务,也许还需要另一台服务器用于WEB前端和后端。

这适用于http://linktiger.comhttp://pagefreezer.com

答案 1 :(得分:0)

我正在实施基于Selenium HtmlUnit Driver的抓取项目。我认为这是自动化无头浏览器的最佳Java框架。

相关问题