Need(需求):

  我们小组的研究课题是编写一个更实用的爬虫软件,编写时会应用到学长的部分代码并在其基础上完善创新。

  鉴于学长代码已经实现了基本功能,即从网站上面爬取相关的Word文档等与计算机有关的文件和资料,过滤掉不相关的信息。我组将从以下几个方面着手进行改进和完善:

1.加强去广告功能:

  如今网络的网页情况,很多网页,包括贴吧、微博都充斥着广告,在其中难免有一些涉及到计算机,但是这些广告的作用却没有实际意义。在学长的代码里的确有相应的删除广告的功能,但是其效果并不明显,在很多情况下不能够很好的识别网络的广告与实际有用的资料,所以会出现一些废数据或数据的遗失。针对这种情况,我组决定将对其广告过滤功能进行完善和修改。

2.分类保存扒取到的文件:

  对爬虫扒取下来的资料进行分类是非常重要的,在学长的代码中,并没有将得到的资料输入进数据库并进行分类存储,这样给下一组的开发遗留下来了一些问题,针对这个问题,我组在研究过后认为应该添加是党的分类保存的功能。

3.增加视频抓取功能:

  学长的代码仅仅实现一些文本文件的扒取,但是却没有进行对视频资料的扒取工作。但是由于网络上的很多视频都有相应的版权问题,而且,因为大多数视频所占有的硬盘容量都较大,我们将对视频的地址进行爬取并保存进数据库中。

4.CSS和Javascript的网站:

  原代码中只能够对HTTP6的网页进行扒取,我们认为这样做会使的资料收集过于局限所以想针对这个问题,将CSS和Javascript的网站的扒取功能添加进去,这样可能会产生大量的代码工作量,只是一个初步的设想。

5.网页质量判定:

  某些网站由于相关与计算机知识方面的内容过于贫乏,多次重复搜索只会造成对时间和资源的浪费,针对这一情况,我们认为应该添加一个对网页质量判定的功能来将不合适的网站清除掉,用以提升软件运行效率。

Approach(做法):

1.对于抓取到的网站,得到其中的URL检查下一级网站的AD字段以及下一级网站和关键字的相关程度

  上一个学年做这个项目的评价,去广告的功能不够完善,还是有很多广告混了进来。他们在博客上写,说是根据AD字段来判断这个网站是不是广告网站。我们觉得,如果只根据AD字段来判断的话,有可能会把一些无用的转向广告网站的中间网站抓取下来。因此我们觉得应该要多往下检测一级,如果下一级网站中有许多事广告网站,那么就把这个网站排除。因为我们考虑到,如果投放广告的话,最多经过一个网站的中转,否则广告投放也就达不到效果,因此我们考虑多检测一级的方法,应该能够在很大程度上解决抓取到的网站中广告很多的问题。

2.将抓取到的不同的文件,按照文件格式分不同分开保存(先按文件夹分开)

  抓取到的网站按照与关键字的相关程度分级、排序。上一学年负责该项目的小组评价中写道,这一组抓取到的文件,并没有分类,所有的文件参杂在一起,导致用户使用不方便。我们想要为这个软件增加一个分类存储抓取到的文件的功能,在抓取到某个文件的时候,就根据这个文件的种类,将其放到这类文件存放的区域,这样软件运行完毕之后,得到已经分类好的文件,让用户使用更加方便。

3.给出视频链接,让用户可以观看源视频

  上一个组并没有完成相关视频的抓取功能,我们觉得,如果是网页爬虫的话,本意就是要在互联网上为用户抓取有用的资源,而现在视频资源也是很重要的一种,因此我们想要增加视频抓取功能。将内容与关键词相关的视频也一并反馈给用户,让用户能够观看相关视频。

4.CSS和Javascript的网站

  暂定待议。

5.检查关键词在抓取到的网站或文件的标题中是否出现,以及在抓取到的网站或文件的文本中出现频率是否高,依此来判断这个网站或文件对于用户的价值

  我们认为如果我们将关键词在其中出现的所有资源抓取下来的话,可能会将一些本不相关,但是关键词有出现的网站或文件抓取下来,但是经过以上方法排除对用户的价值不高的网站和文件之后,我们抓取到的东西的质量就会大大提高。

 Benefit(好处):

1.能够从得到的结果中更好地剔除广告网站,优化用户体验

  去除广告是我们的爬虫的一个很重要的功能。爬虫的本意就是为用户在互联网上高效地抓取有用的相关资源,如果抓取到的资源中还有大量的广告,就会让用户的浏览变得十分不方便,这就失去了爬虫的意义。我们会多检查到下一级网站,用这个方法排除广告网站。这样可以提高抓取到的资源的质量,让用户更方便地使用爬虫的功能。

2.让用户能够更方便地查找资源

  如果爬虫将所有的抓取到的资源都放在一起,当用户需要单一某一种格式的文件的时候,就会很麻烦。我们将抓取到的资源按照种类分开保存,这样可以让用户能够更方便地使用该软件,获得更好的用户体验。

3.使用户能够观看相关的视频

  这个完全是新增功能,以前的版本不能抓取视频资源,虽然我们由于版权原因不能将视频完全下载下来,但是我们可以给用户提供源视频的链接,让用户可以观看。现在很多资源都是以视频的形式存在于互联网上的,我们新增这一功能,能够让这个软件更加实用,更加能够符合增长的用户需求。

4.不仅限于HTML5的网站,能够得到更多的资源(暂定待议)

  现在的版本只能够抓取HTML5的网站,但是也有很多使用了javascript或者css的网站中也有很多很实用的资源,我们将本软件更新为支持javascript和css,能够让爬虫抓取到更多的资源,为用户提供更多服务。

5.提高抓取到的结果的质量,增加功能将低质量的资源剔除(暂定待议)

  如果只注重抓取到的文件和网站的数量,那么可能会导致抓取到的文件和网站质量不高,反而降低了有用的文件和网站在结果中的成分,让用户体验变差了。我们会用检测关键词是否在其标题中出现,以及出现频率等方法,判断这个文件或网站对于用户的价值,如果这个价值不高那么就将这个文件或网站排除。这样能够让我们抓取到的文件和网站的质量更高。

Competitors(竞争):

  网络爬虫是自动获取网页内容的程序,是搜索引擎的重要组成部分。现如今的搜索引擎基本上全都会涉及到爬虫的设计以及优化。而一个搜索引擎的速度也与爬虫的优化程度有着很大的关系。从另一个角度看,不只是搜索引擎,所有与数据挖掘的软件都会涉及到爬虫。因此,爬虫在整个软件行业里面有着很高的地位,而且其应用范围非常广泛。我们这里主要通过搜索引擎中的爬虫分析下竞争。

  首先拿现如今最常用的两个搜索引擎:百度和google来说,单纯的从他们爬取信息的角度看,这两者都是业界的龙头,其爬取算法也非常好,可以根据类型分类,从而方便了用户的操作。而且其在整个万维网上进行爬取的速度也是非常快的。而我们的软件虽然说在速度与爬取算法上不是很成熟,但是我们的软件将会以用户的方便进行设计,我们会对爬取下的文件进行匹配度检测从而对其优先度进行排序,这也将大大提升用户的体验质量。我从以下几个方面来说下我们软件的竞争力度。

1.爬取速度与爬取承载,这也是衡量爬虫的标准

  我们的软件在速度上相对别的软件并不差,我们通过广度优先的查找顺序查找,这可以提高爬虫的爬取速度,同时我们采用多个队列进行数据处理,这也使得爬虫可以同时处理多组数据,使得承载能力更强。

2.爬取质量与专一性

  很多网站的爬虫将给定URL中所有内容爬取下来,这样不仅会对爬取内容的质量造成影响,而且会使得预算速度变慢。我们的爬虫将专一的爬取与计算机有关的数据,这样就使得爬取内容更加符合用户的需求。同时我们将对广告进行处理,这样也能使得爬虫的爬取质量变高。同时我们将会一边爬取一边与关键字进行相符性比对,这样可以大量减少广告以及无关信息。

3.分类储存

  用户的下一步操作可能会用到不同类型的数据。而爬虫在爬取过程中将会对数据进行简易的分类。分类以使用户获得更好的用户体验,方便用户在搜索的过程中能够更快的找到自己需要的信息。而这,在程序员中应该会比较受欢迎。

4.界面与实现

  用户在拿到爬虫时需要知道爬虫的输出形式与爬取速度等,这需要我们设计一个简单的界面进行实现。我们的界面将用最简单的方式将输出结果呈献给用户,这样会非常直观。

5.创新功能

  我们准备在原有的爬虫中添加新的功能。比如在爬取到视频文件时,我们将向用户反馈视频地址。这样就能使得用户可以直接通过地址来观看视频。除此外,我们还计划实现不限定于html5网页的爬取,而是尽量连CSS或者javascript等也可以进行爬取。这样可以更大的方便用户的操作。

爬虫组NABC的更多相关文章

  1. 基于C#.NET的高端智能化网络爬虫(一)(反爬虫哥必看)

    前两天朋友发给我了一篇文章,是携程网反爬虫组的技术经理写的,大概讲的是如何用他的超高智商通过(挑衅.怜悯.嘲讽.猥琐)的方式来完美碾压爬虫开发者.今天我就先带大家开发一个最简单低端的爬虫,突破携程网超 ...

  2. 【转】 基于C#.NET的高端智能化网络爬虫

    [转] 基于C#.NET的高端智能化网络爬虫 前两天朋友发给我了一篇文章,是携程网反爬虫组的技术经理写的,大概讲的是如何用他的超高智商通过(挑衅.怜悯.嘲讽.猥琐)的方式来完美碾压爬虫开发者.今天我就 ...

  3. 团队博客作业- Week3

    成员介绍 韩青长  测试 我是韩青长,技术小白,抱着对软工的好奇和对未来工作的憧憬选了这门课.暂时选择了测试的工作,也对开发和UI有一定兴趣.从前上帝创造了我们,现在轮到我们来创造自己的软件了~ 陈彦 ...

  4. Centos下安装和配置SVN

    1.安装SVN服务 #检查现有版本 rpm -qa subversion #如果存储旧版本,卸载旧版本SVN yum remove subversion #安装SVN yum install subv ...

  5. For Your Dream

    队名:Braveheart 队员介绍: 队长:李洋洋 队员:姚欢,杨仁波,张波,乔闯 项目名称:数据沈航 总体任务: 收集整理学校的数据,为每个想要了解沈航的人展现一份我们收集来的信息 项目分组: ( ...

  6. 学霸网站-Beta版本发布说明

    项目名称 学霸网站 项目版本 Beta 项目团队 ourteam 发布日期 2015-1-5 一.Alpha版本实现功能简介: 1.匿名提问 2.匿名回答 3.采纳功能 4.登录.注册失败后,用户名等 ...

  7. Python QQ群

    微信公众号:Python中文社区 Python初级技术交流QQ群:152745094Python高级技术交流QQ群:273186166Python网络爬虫组QQ群:206241755PythonWeb ...

  8. Daily Scrum 12.3

    今日完成任务: 与安卓组进行商量对数据库修改的方案.现在在等他们最终确认,确认之后进行整理以及源代码的调试. 对资源功能的代码进行阅读. 遇到困难: 关于整合,爬虫组爬到的内容和网站定位有所不符,所以 ...

  9. Teamwork——Week4 团队分工和预估项目时间

    由于我们给每个组员预估的每天用在该团队项目的时间为2h左右,因此我们的时间计算也已2h为基数.下面就是我们的团队分工和预估项目时间. 任务编号 实现人员 任务详细描述 预估时间 任务0 全体组员 看学 ...

随机推荐

  1. 四舍五入PK银行四舍五入

    描述 在实际开发中decimal.Round(1.23525,4)!=1.2353实际是1.2352,而decimal.Round(1.23535,4)==1.2354 说明 四舍五入:当舍去位的数值 ...

  2. 【BUG】---ng-show/ng-hide修改成功但没有效果

    问题:点击搜索,隐藏tab,出现搜索结果列表,调试也成功修改了分别元素的ng-hide就是没有效果 我的错误: <div ng-hide="{{isShow}}" class ...

  3. 数据字典系统,要的进来下载吧,MVC+Easyui写的

    数据字典系统,要的进来下载吧,以后做开发不用单独去生成一个数据字典了,直接打开此系统就OK啦 使用VS2012写的 语法是SQL 2005以上版本,包含2005的哦,2000的不适用此系统 字数不够啦 ...

  4. 正则表达式删除指定的HTML 标签

    1.抓取某网页的数据后(比如描述),如果照原样显示的话,可能会因为它里面包含没有闭合的HTML标签而打乱了格式,也可能它里面用了比较让人 "费解" 的HTML标签,把预订的格式搅乱 ...

  5. VpnService

    这段时间项目中使用到了VpnService,整理了一下官方文档的资料 VpnService is a base class for applications to extend and build t ...

  6. PAT1005—— 继续(3n+1)猜想

    卡拉兹(Callatz)猜想已经在1001中给出了描述.在这个题目里,情况稍微有些复杂. 当我们验证卡拉兹猜想的时候,为了避免重复计算,可以记录下递推过程中遇到的每一个数.例如对n=3进行验证的时候, ...

  7. 北大ACM(POJ1013-Counterfeit Dollar)

    Question:http://poj.org/problem?id=1013 问题点:排除+验证. Memory: 244K Time: 16MS Language: C++ Result: Acc ...

  8. Centos中安装PHP的PDO MySQL扩展的教程

    PHP Data Objects(PDO)扩展为 PHP 访问数据库定义了一个轻量级的一致接口.实现 PDO 接口的每个数据库驱动可以公开具体数据库的特性作为标准扩展功能.注意利用 PDO 扩展自身并 ...

  9. php连接到数据库

    html代码: <form action="php_mysql_add.php" method="post"> 用户名: <input typ ...

  10. c 语言时间的输出和比较

    time_t The most basic representation of a date and time is the type time_t. The value of a time_t va ...