基于 JAVA 技术的网页内容智能抓取
架构
完全基于 java 的技术
核心技术
XML 解析,HTML 解析,开源组件应用。应用的开源组件包括:
DOM4J:解析 XML 文件
jericho-html-2.5:解析 HTML 文件
commons-httpclient:读取 WEB 页面内容工具
其他必须的辅助引用包括:
commons-codec
commons-logging
jaxen
基本业务流程描述
通过 XML 文件定义抓取目标
通过 DOM4J 开源组件读取 XML 配置文件
根据配置文件执行抓取任务
对抓取到的内容根据定义进行解析与处理
目前缺陷功能描述
抓取内容如果有分页,则无法获取下一分页
目标页面可能包含有想抓取的信息,但没有抓取的配置选项。如百度贴吧
目标页面链接定义不够灵活,对于百度贴吧的链接参数以 50 增加的只能手动定义
没有多线程支持
日志输出比较混乱
错误处理比较简单,不能对失败的任务自动重新执行,很多地方缺乏错误判断,
如空数组
程序架构不够清晰,代码略显凌乱
不支持抓取结果存入多个表,目前只能将结果放在一个表中
是否考虑写一个 XML 类,提供通用的调用 XML 节点跟解析结果的方法?
规定任务文件的 DTD?
- 1
- 2
- 3
前往页