做什么?
1. 做“爬”,对Nutch的inject、generate、fetch、parse、updatedb这个闭环爬取流程进行封装,采用拖拽式流程定义可视化监控提高易用性。
2. 做“内容解析”,将非结构化的网页内容解析成结构化,提取方式适用性要广,适合不同类型的网页。
3. 做“内容过滤”,可按照字段过滤,采用规则引擎实现复杂的内容过滤。
不做什么?
1. 不做“全文检索”,Nutch IndexWriter系列插件不做集成和扩展,不支持与Solr的集成。
2. 不做“索引去重”
3. 不尝试解决所有类型MIME的解析
尚未实现的
1. 对表格内容的解析,有如下复杂性需要考虑——实现表格的方式多样,<table>标签实现的解析难度不大,css+div实现的表格难度大一些,可以尝试采用:
a) “内嵌css解析器”+“图像识别”的方式,网页内容转化成图片,使用机器学习识别出哪部分最可能是“表格”,然后再提取表格部分的dom节点。
b) 自学习方式,采集大量的网页人工标注,然后训练分类器。
2. 网页中嵌入浏览器(可考虑ActiveX/Applet),采用框选式的选取dom节点,定义解析规则。