关于网络爬虫项目的项目建议(NABCD)
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.广告推广,我们的团队组成决定了我们肯定没有实力去大网站做推广,所以针对这种情况,我们有更合适的方法,那就是寻找到有针对性的小网站,这些网站的用户流量不大,但是其有效用户量的比率很大,那么我们的推广就会是成功的。
关于网络爬虫项目的项目建议(NABCD)的更多相关文章
- 项目需求分析与建议-NABCD模型
N(Need 需求) 首先我们的创意解决了现有阶段学校查空余教师的问题,充分解决了同学们上自习却找不到教室的苦衷,同时也会适当的拓展一些适当的学习计时功能或者每日一语等等,来帮助同学们来控制好学习时间 ...
- 项目需求分析与建议——NABCD模型
特点一:旧物再利用N:需求:在我们的校园生活中,会遇到许多自己用不到的东西例如,学过的课本.废置的闲置物品等,这些"废物"往往占据着许多空间却不能够发挥自身的价值,通过我们的校园二 ...
- 团队项目作业:利用NABCD模型进行竞争性需求分析
NABC正是这样的一套框架,当你试图提出一项崭新的提案之际,它能够提供四个思维基点,令你的商业策划具备天马行空的基础. 具体来说,NABC是四个关键词的首字母缩写- Need(需求)-现在市场上未被满 ...
- 【网络爬虫】【java】微博爬虫(一):小试牛刀——网易微博爬虫(自定义关键字爬取微博数据)(附软件源码)
一.写在前面 (本专栏分为"java版微博爬虫"和"python版网络爬虫"两个项目,系列里所有文章将基于这两个项目讲解,项目完整源码已经整理到我的Github ...
- C语言Linix服务器网络爬虫项目(二)项目设计和通过一个http请求抓取网页的简单实现
我们通过上一篇了解了爬虫具体要实现的工作之后,我们分析得出的网络爬虫的基本工作流程如下: 1.首先选取一部分精心挑选的种子URL: 2.将这些URL放入待抓取URL队列: 3.从待抓取URL队列中取出 ...
- 智普教育Python培训之Python开发视频教程网络爬虫实战项目
网络爬虫项目实训:看我如何下载韩寒博客文章Python视频 01.mp4 网络爬虫项目实训:看我如何下载韩寒博客文章Python视频 02.mp4 网络爬虫项目实训:看我如何下载韩寒博客文章Pytho ...
- Linux企业级项目实践之网络爬虫(1)——项目概述及准备工作
我们在学习了Linux系统编程之后,需要一些实战项目来提高自己的水平,本系列我们通过编写一个爬虫程序,将我们学习的知识进行综合应用,同时在实现项目的过程中逐渐养成一些有用的思维方式,并具有初步的软件开 ...
- Python即时网络爬虫项目启动说明
作为酷爱编程的老程序员,实在按耐不下这个冲动,Python真的是太火了,不断撩拨我的心. 我是对Python存有戒备之心的,想当年我基于Drupal做的系统,使用php语言,当语言升级了,推翻了老版本 ...
- Python即时网络爬虫项目: 内容提取器的定义(Python2.7版本)
1. 项目背景 在Python即时网络爬虫项目启动说明中我们讨论一个数字:程序员浪费在调测内容提取规则上的时间太多了(见上图),从而我们发起了这个项目,把程序员从繁琐的调测规则中解放出来,投入到更高端 ...
随机推荐
- CSS3 初步学习
CSS3有一些是与旧版CSS2.1重叠的,有一些是没有浏览器支持的,全学没必要,下面只记录一下有用的. 一.CSS3边框 1.圆角border-radius border-radius:值越大,角越圆 ...
- Ibatis 测试出SQL
String sql = Brg.Global.Map.BaseBatis.GetRuntimeSql("select_T_JewelleryProductType", _Mode ...
- Android IOS WebRTC 音视频开发总结(七三)-- 我为什么走上了创业这条不归路?
本文主要介绍自己为什么选择创业,文章最早发表在我们的微信公众号上,支持原创,详见这里, 欢迎关注微信公众号blackerteam,更多详见www.rtc.help 2016.06.01对公司来说是个很 ...
- Inside The C++ Object Model - 03
object Lessons 1.C++中布局以及存取时间上的的额外负担是由virtual引起的:virtual function.virtual base class.或是由于多继承引起的. 2.C ...
- Mybatis保存数据时事务问题
今天不小心在sqlplus中用for update ,然后事务没提交,结果在项目中一直保存不进去数据,找了很久发现是sqlplus中的事务没提交,哎,这种问题真得避免啊,一定要细心啊!
- redis-redigo及redis存储时间问题测试
package main import ( "log" "github.com/garyburd/redigo/redis" "github.com/ ...
- mysql之触发器入门
触发器语法: CREATE TRIGGER <触发器名称> --触发器必须有名字,最多64个字符,可能后面会附有分隔符.它和MySQL中其他对象的命名方式基本相象.{ BEFORE | ...
- 登陆mysql时出现unknown variable 'character_set_client=UTF8' 的错误
今天,登陆数据库服务器的时候,出现了下面的错误: [root@localhost app]# mysql -uroot -p mysql: unknown variable 'character-se ...
- HowTo Perform the spatial selection 'Share a line segment with' using ArcObjects
HowTo Perform the spatial selection 'Share a line segment with' using ArcObjects Article ID: 26528 ...
- CentOS使用virtualenv搭建独立的Python环境-python虚拟环境
CentOS使用virtualenv搭建独立的Python环境-python虚拟环境 virtualenv可以搭建虚拟且独立的python环境,可以使每个项目环境与其他项目独立开来,保持环境的干净,解 ...