网络爬虫开发
来源:互联网 发布:led散热模拟软件 编辑:程序博客网 时间:2024/06/03 17:47
最近的一个项目,基于lucene3.0的全文检索和网络爬虫引擎,主要用来应付企业内部页面爬取和检索。
本来爬虫引擎打算在别人的基础上开发订制,例如compass等。后来还是觉得别人的东西不好用,核心不容易理解。考虑到以后还要做为公司的产品,于是下了决心,历时2个半月,自主开发了一套爬虫引擎。项目取名为Jspider,没有什么特殊含义,最近好像一些项目特别流行以植物、动物命名,下个版本换个好听点的名字,呵呵。
说说构架吧,Jspider是基于jdk1.5的一套多线程、多节点的Application,支持多点布署,可形成一个分布式的高性能网络爬虫系统,迅速完成多个站点的攫取工作。使用mysql作为爬虫数据存取工具。WEB版的管理后台。前后台网络通讯采用了apache的mina2.0。http通信使用了httpClient4.1。
经过一个月的测试和优化修改,服务器稳定性还是比较高的,没出现过崩溃,内存溢出等状况。任务完成自动释放内存,理论上分配1G的内存给jvm,足以完成一个很大型的企业网站页面爬取。
核心处理参照了Hetrix的处理方法。所有的页面处理使用了一个链:下载->URL分析->内容分析提取->入库->地址过滤->地址队列 。内容分析使用了统计去噪,实测去噪效果还是比较满意的。内容提取准确率高达90%以上,当然本算法去噪效果没能达到100% ,下个版本做改进吧,程序都是在不完美中成长。
发几个图吧,Web版的控制中心,前端使用ajax作实时刷新,更新服务器数据。
32个任务运行结束。
- 网络爬虫开发
- 网络爬虫开发
- 网络爬虫开发常用方法
- 网络爬虫开发技术实现
- java网络爬虫开发笔记
- 爬虫 - 开发网络爬虫应该怎样选择爬虫框架
- 开发网络爬虫应该怎样选择爬虫框架?
- 开发网络爬虫应该怎样选择爬虫框架?
- 网络爬虫开发技术——快速线程池爬虫
- 网络爬虫项目开发日志(二):爬虫架构设计
- 网络爬虫项目开发日志(三):爬虫上线准备
- 网络爬虫项目开发日志(五): 爬虫协议初探
- 网络爬虫开发技术——入门
- python开发爬虫---写网络解析器
- Python开发网络爬虫优秀博客
- Python大型网络爬虫项目开发实战
- java网络爬虫开发笔记(2)
- java网络爬虫开发笔记(3)
- Heapsort algorithm
- [Java]练习题003: 计算100到1000之间的水仙花数
- 编程能力的四种心理境界 你属于那一种? 转帖
- Windows下进程和线程同步的四种控制方法
- ubuntu下配置qt+opengl+opencv
- 网络爬虫开发
- 求助
- translation:Achieving of Chinese Display in the embedded graphical user interface of uC/GUI in Two
- Uboot-2011.3 移值到友善2440上。第一步可以一RAM中跑起来了
- 在linux下修改oracle的sys和system的密码以及默认密码
- Random Walk
- 镜之边缘修改器原理
- No entity found for query令人兴奋又让人头疼的问题
- 三十岁前小有成就的秘密