毕业设计总结

本文是对作者毕业设计的总结,主要讲述了如何基于Heritrix开源爬虫进行扩展,构建了一个针对竹藤领域的聚焦爬虫。作者在导师的建议下,对Heritrix进行扩展定制,实现了特定需求的网页过滤和链接抽取。同时,使用HTMLParser库处理网页数据,并实现了简单的搜索引擎。在这一过程中,作者掌握了Java编程、正则表达式、LAMP技术和jQuery的基本应用,深化了对网络爬虫原理的理解,并反思了设计思路。
摘要由CSDN通过智能技术生成

毕业答辩已经过去两个多星期,成绩良好,也没想冲优,考研之后越发的懒散。近日想想应该做个总结,从一个整体的角度来看待毕设,也许会有不一样的收获。

毕业设计题目是“面向竹藤领域的网络爬虫系统的研究与开发”,题目很长,因而有点小玄乎,糊弄人。导师名义上是一个老教授,实际上是与老教授同一个课题组 的年轻老师。

--------------------------------------------------------------************------------------------------------------------------------

毕设的具体内容大致如下:

1.基于开源爬虫Heritrix进行扩展定制,形成一个符合特定需求(即面向竹藤领域)的聚焦爬虫(注:聚焦爬虫 的工作流程比较复杂,需要根据一定的网页分析算法过滤与主题无关的网页,保存有用的连接并且添加到等待抓取得url对列中,并根据一定的搜索策略 从等待队列中选择下一步要抓取的连接。重复着一个过程,直到满足一定条件为止。)。

本来个人想基于HttpClient和HTMLParser从头开始写爬虫,但导师考虑到爬虫的性能以及工作量的问题,建议基于已有的开源爬虫进行扩展。于是我对很多开源爬虫进行特性的对比,最终由于灵活的可扩展性而选择了Heritrix,简单的说,Heritrix是一个爬虫框架。

接下来的工作说难不难,说容易也不容易,个人认为重点难点在于了解Heritrix的体系结构---灵活的模块式结构。只有充分了解这一点,才会知道对哪个模块进行扩展,怎样扩展,为什么可以这样扩展。由于以前没接触过类似的工作,所以开始时候非常没有方向。幸好有个同学以前做过这方面的开发,而且Heritrix相关文档也比较多,毕设得以顺利进行。

图1:Heritrix体系结构

扩展工作则是按照特定需求编写两个类插入上图所示的Extractor Chain和Postprocess Chain,替换或者配合已有的类进行工作。因为同学做过这方面的工作,通过请教使得扩展没有太大的难度。我分别针对三个竹藤领域的重要网站写了Extractor抽取类,我觉得这样的抽取类没有多大的实用性,因为按照我的抽取策略,每个网站的域名不一样,结构也不一样,就必须写出对应的抽取类。

评论 81
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值