Need
我们小组的研究课题是编写一个更快捷,更安全的爬虫软件,编写时会应用到学长的部分代码并在其基础上完善创新。
初步阅读了学长们的博客上面的几个版本的测试情况和源代码,发现学长们在实现基础功能的条件下,增加了一些附加功能,包括对广告的进一步的过滤,分类保存爬取到的文件,已经网页质量的初步判定功能。
经过和组员们的初步讨论,我们决定在以下方面进行改进和完善:
1.对网页质量进行更优化的判定:
学长们对于网页质量的判定并不够完善,可以新增一些判断条件。例如用户可能关心于网页产生和更新的时间,以及网页容量的大小。只根据关键字出现频率进行判定并不够理想
2.增强代码的实际可用性:
通过改善代码结构,提高代码效率,减少爬取所用时间,增强用户体验。
3.增加爬取网页类型,完善相关功能:
学长们最终实现的网页类型并不全面,并且还存在着一些bug。我们希望能够进一步优化完善这方面的内容。
Approach
1.增加对网页容量的分析以及网页相关时间信息的判定来进一步提高抓取页面的质量
除了关键字频率统计之外,进一步引入页面字符数和网页产生和更新时间等判断条件,综合进行排序,最终得出相对较好的抓取结果。
2.优化抓取算法和存取方式,提高代码效率
相关细节暂未确定。
3.增加可抓取的网页类型,并完善域名等方面的相关代码
通过对于学长相应代码的研读和改进,完善相应功能。
Benefit
1.进一步优化了抓取页面的质量,增强用户体验,使得软件实际效率更加优秀。
2.使得代码运行更高效,用户等待时间更少,同样增强了用户体验。
3.进一步丰富了抓取内容,使得用户能够得到更加全面完整的信息。
Competitors
网络爬虫的爬行具有重复性, 将Web动态变化的规律与先前搜索的统计结果相结合, 以提高价值计算的准确性, 是一个值得研究的问题。降低网络蜘蛛在训练、搜索过程中的计算复杂性, 也是有待进一步研究的问题。目前的网络爬虫通常采用固定的搜索策略, 缺乏适应性, 如何提高网络爬虫的自适应性有待进一步研究。
以下几点将是我们的爬虫着重处理的点,同时也是我们的竞争力所在:
1.覆盖率
网络爬虫的首要目标是抓取互联网上所需的信息。因此,有价值的信息是否都收录,收录的比例(即覆盖率)是网络爬虫的基本评价指标。我们的爬虫会增加对于各种链接的筛选力度,增强覆盖率。
2.时效性
用户对搜索引擎的查询要求越来越高,其中重要的一点就是查询时效性,即事件发生并在互联网上传播后(以新闻、论坛、博客等各种形式),用户需要通过搜索引擎尽快能检索到相应内容。而索引的前提是收录,因此需要网络爬虫尽快的抓取互联上最新出现的资源。对于我们的爬虫而言,我们将会提高其检索度,争取在时效性上更进一步。
3.重复率
互联网上重复的内容很多,如何尽早的发现页面重复并消除之,是网络爬虫需要解决的问题。 除转载导致的重复外,重复总能体现为各种不同的模式,站点级重复,目录级重复,CGI级重复,参数级重复等等。及早发现这些模式并进行处理,能节省系统的存储、抓取、建库和展现资源。
Delivery
软件制作完毕,推广至关重要,软件做的再好,没有人知道也是白搭,作为程序员,很多人都是重技术轻推广,这就导致了一些优良共享软件并没有为作者带来好的回报。我们制定了以下策略,希望能在推广上做出一些成绩:
1.在各大软件网站发布我们的软件,如华军软件园、天空软件园、360软件宝库等等,对于小型下载网站,不用去理会,原因有二,一是这些软件园会自动去转载大软件站的软件,二是很多小网站的发布渠道不畅。随着网络的迅速发展,万维网成为大量信息的载体,如何有效地提取并利用这些信息成为一个巨大的挑战,所以对网络爬虫方面的软件需求会不断增加。我们对目前网络上同类型网络爬虫工具进行调研,将他们的功能情况与我们进行对比,并统计了他们的发布情况后,我们估计我们发布后一周的用户量会达到0.1千左右
2.做出我们的官方网站,这是很有必要的,因为发布我们也非常需要自主来推广,这个网站还兼具搜集用户的信息反馈的功能,更重要的是,共享软件重在服务,我们需要依靠这个网站来对我们的用户提供技术支持等服务。
3.广告推广,我们的团队组成决定了我们肯定没有实力去大网站做推广,所以针对这种情况,我们有更合适的方法,那就是寻找到有针对性的小网站,这些网站的用户流量不大,但是其有效用户量的比率很大,那么我们的推广就会是成功的。