您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 项目/工程管理 > 定向网络爬虫-开题报告
山东科技大学本科毕业设计(论文)开题报告题目网络爬虫定向爬取•脚本之家•文本信息学院名称信息科学与工程学院专业班级计算机科学与技术2012级2班学生姓名包志英学号201201050201指导教师赵中英填表时间:二0一六年三月二十八日设计(论文)题目网络爬虫•定向爬取脚本之家文本信息设计(论文)类型(划“√”)工程设计应用研究开发研究基础研究其它√一、本课题的研究目的和意义本课题的主要目的是设计面向主题的网络爬虫程序,同时需要满足的是具有一定的性能,要考虑到网络爬虫的各种需求。网络爬虫主体网站的特性。对url进行构造。网络爬虫使用scrapy实现多线程,让爬虫具备更强大的抓取能力和灵活性。网络爬虫要实现对特定主题的爬取。网络爬虫还要完成信息提取任务,对于抓取回来的网页提取出来:新闻、电子图书、行业信息等。对网络爬虫的连接网络设置连接及读取时间,避免无限制的等待。研究网络爬虫的原理并实现爬虫的相关功能。最终实现的网络爬虫应该能根据设定的主题,从构造的url进行一定数据爬取,并最终得到需要的数据互联网是一个庞大的非结构化的数据库,将数据有效的检索并组织呈现出来有着巨大的应用前景。搜索引擎作为一个辅助人们检索信息的工具。但是,这些通用性搜索引擎也存在着一定的局限性。不同领域、不同背景的用户往往具有不同的检索目的和需求,通用搜索引擎所返回的结果包含大量用户不关心的网页。为了解决这个问题,一个灵活的爬虫有着无可替代的重要意义。二、本课题的主要研究内容(提纲)本课题研究的内容是如何使网络爬虫灵活高效。1.如何更具网站主体特性不同构造URL。2.如何具备更强的抓取能力。3.如何分辨重复的网页内容。4.如何确定主题相关性。5.对于对线程并发的处理。6.对于缓存和并发请求的处理7.对反扒机制的应对8.对于网络时延等的处理。9.对于数据的存储格式与形式三、文献综述(国内外研究情况及其发展)对于网络爬虫的研究从上世纪九十年代就开始了,目前爬虫技术已经趋见成熟,网络爬虫是搜索引擎的重要组成部分。网络上比较著名的开源爬虫包括Nutch,Larbin,Heritrix。网络爬虫最重要的是网页搜索策略(广度优先和最佳度优先)和网页分析策略(基于网络拓扑的分析算法和基于网页内容的网页分析算法)。国内外流行的爬虫技术相当多,很多人喜欢基于Python的,也有人喜欢用C#,很多人由于系统集成开发和跨平台的需要倾向于java,我跟喜欢用Python。就原理来说,爬虫组件都是差不多的,无头浏览器,最能够说明爬虫的特性,它们被设计创造出来,大部分情况是用于自动化测试的。基于socket的httpclient功能简单,性能强大,特别是在高并发的情况下,而被大家所青睐,特别是搜索引擎中,如果抓取静态页面,httpclient非常适合。当遇到ajax加载的信息,就需要javascript效果渲染的时候,httpclient就不行了,htmlunit是基于httpclient加入Rhino引擎实现js渲染的无头浏览器,当然包含了httpclient的特性,然而,由于内存泄露的问题,高并发的状态下,并不能很稳定的工作,内存消耗随着程序的运行而不断增大,直到达到jvm分配的上限而崩溃。很多时候,你只能做个权衡,每个webclient使用若干次后就把它回收,然后重新启动一个,这非常影响性能。Rhino对于javascript的支持并不好,实际使用中,会发现各种Exception,很多时候会导致无法渲染出想要的结果,这个htmlunit的又一大缺陷。随着版本的更新,能够渐次解决一些问题,但是好的程序员,还是应该自己读源码来尝试解决问题。Phantomjs相比于htmlunit,对于js的支持更接近真实的浏览器,但是并发性能差,通过java的exec调用系统命令来启动,更加降低了性能。此外主流的浏览器都提供了相应的抓取支持,selenium可谓是一个集大成者,包含了上述的所有组件,以WebDriver的形式,适配各种爬虫组件,你可以用它操控浏览器自动抓取,当然,并发和性能的问题依然存在。爬虫开发的主要问题是性能和反封锁。很多时候,采用高并发高频率抓取数据是可行的,前提是目标站点没有采用任何反爬措施(访问频率限制、防火墙、验证码……);更多时候,有价值的信息,一定伴随着严格的反爬措施,一旦ip被封,什么组件都没戏了。你不得不维护一个代理IP池来解决这个问题,当然,这也带来了代理ip稳定性和速度的问题,这些问题都是无法回避的问题,我们需要针对具体的情况,采用对应的措施,以最大限度的完成爬虫爬取任务。目前,爬虫的需求呈爆炸式增长的趋势,这是当前各种互联网创新和大数据时代的新常态。火车和八爪鱼等团队看到了这一点,并率先开发了相对完备的爬虫产品,很多用户都在使用,但是更多的用户希望直接把爬虫抓取任务外包出去,因为他们不懂技术,工具的使用需要逾越技术的鸿沟,大部分用户并没有这个逾越鸿沟的打算。我相信像猪八戒这样的技术外包平台会活的越来越好,我也相信各个技术门类会不断聚集,形成相对独立的社区,P2P的社区平台将提供爬虫开发者和爬虫需求者更加通畅的交流渠道。目前,淘宝等平台上出现很多爬虫服务商,如=a230r.1.14.4.10ZOWj&id=42659198536&ns=1&abbucket=6#detail,这种定制开发的服务,增加了服务商的成本,服务往往是一次性的,满足了一个用户的需求,然而具有相似需求的用户,却很难有机会找到这个服务商,这就是为什么我们需要爬虫信息交流的平台。我有意建立这样的平台,不管是微博、微信公众号、文章,还是政府门户的信息公开,或者门户网站、新闻社区等媒体,或者其他领域如金融的数据,都可以在平台上找到,也很容易实现供应和需求者的相互匹配。然而,对于这其中的法律问题,特别是知识产权问题,不甚明了,除了robots协议,很多数据网站都会另外声明其数据使用规范,同时,如大众点评等网站提供的API很难满足分析的需要,就形成了数据被独占而其价值得不到有效开发的不合理现象。大数据时代,对大数据的分析应当成为一个行业,数据拥有者应该开放数据的分析接口,让数据的价值释放,而爬虫开发者,很多时候是数据分析者(最起码是个数据清洗和筛选者)。他们蒙上了一层神秘面纱,带着一丝黑客气息,法律应当给他们更大的生存空间,让这个有价值的行业创造更大的价值。四、拟解决的关键问题使网络爬虫高效灵活,在主题网站中尽量全面的爬取信息,并且能够自动构造URL,递归调用自身,开启多线程快速的爬取,准确提取有效信息,存储到数据库,对于网络延迟的处理,并且能够开启HTTPCHACHE,极大限度的提高爬取速度,伪造代理信息,表单等,让目标网站,认为你是安全的,整合数据信息,并以json格式存储至Mongo,方面各个平台使用,通过脚本程序,迁移到Mysql为依赖关系较强的项目使用,具备可视化显示,以网页的形式有好的显示数据,并提供简单的搜索功能,能将数据简单分类,智能推荐。五、研究思路和方法参考网上开源的网络爬虫和各种网络爬虫相关的书籍、视屏等信息,学习了解网络爬虫运行机制,基本原理,根据所爬取的目标网站设计自己的爬虫,习Python,Scrapy框架的搭建,Mongodb的简单操作,Laravel,bootstrap框架学习、编写、调试。并与老师的多次面谈和邮件交流,解决了一些理论的疑点和实践上的难点,指导了爬虫的设计和利弊分析,提供了很多的帮助,设计和学习完基础知识后,搭建了繁琐的环境,在Windows下进行了爬虫的开发、调试,最终成功的实现了信息的爬取与提取,将爬去下来的数据,通过脚本程序进行数据转换,利用网页技术可视化显示,并提供简单的查询接口。六、本课题的进度安排2016.03.18—2016.03.31查阅资料完成任务书,完成开题报告。2016.04.01—2016.04.14开题报告会,学习网络爬虫基本机制,学习使用Mongodb数据库,学习Python,搭建Scrapy环境,学习Laravel与Bootstrap框架。2016.04.15—2016.04.28查阅资料,进行论文基本章节的写作,与导师探讨设计缺陷,并提出解决方案,完成初稿,并完成基础代码编写。2016.04.29—2016.05.12编写设计好的爬虫文件,并进行系统稳定性测试调试,修复bug。2016.05.13—2016.05.26运行爬虫,提取有用信息,将其存储至Mongodb数据库中,数据整合,通过脚本程序将数据迁移至MySQL。2016.05.27—2016.06.10数据可视化,完成论文等相关文档的编写。七、参考文献[1]=EdHY1vcvYqlz32EfYu91TViHpf9vknfEtjhwoIHuH0nq54T1rXfBWHjKTJMGB2xm13RwGd_5P8dkjWPBjNh-ja.[2].[3]=HEK-9lVNug8ccN9z8KE43SZTIlF5ojvWJ0cjG46TY5Yjf8h1t5Cu4LYoZ_rht5jfwjnFohp0xNPZaxMGIsGC7_.[4][5]罗刚王振东.自己动手写网络爬虫[M].北京:清华大学出版社,2010年10月.[6]李晓明,闫宏飞,王继民.搜索引擎:原理、技术与系统——华夏英才基金学术文库[M].北京:科学出版社,2005年04月.[7]J.I.Herlocker,J.A.Konstan,A.Borchers,andJ.Riedl,Analgorithmicforperformingcollaborativefiltering,inProceedingsoftheConferenceonResearchandDevelopmentinInformationRetrieval(SigIR'99),pp.230-237,1999.[8]R.SalakhutdinovandA.Mnih,ProbabilisticMatrixFactorization.InProceedingsofNIPS.2007.[9]R.SalakhutdinovandA.Mnih,BayesianprobabilisticmatrixfactorizationusingMarkovchainMonteCarlo.InProceedingsofICML.2008,880-887.[10]MohsenJamali,GholamrezaHaffari,MartinEster.Modelingthetemporaldynamicsofsocialratingnetworksusingbidirectionaleffectsofsocialrelationsandratingpatterns.[11]TianjunFu,AhmedAbbasi,HsinchunChen.AfocusedcrawlerforDarkWebforums[J].J.Am.Soc.Inf.Sci.,2010,6,16.[12]PunamBedi,AnjaliThukral,HemaBanati,AbhishekBehl,VarunMendiratta.AMulti-ThreadedSemanticFocusedCrawler[J].JournalofComputerScienceandTechnology,2012,2,16.[13]Winter.中文搜索引擎技术解密:网络蜘蛛[M].北京:人民邮电出版社,2004年.指导教师意见指导教师(签名):年月日所在系(所)意见负责人(签章):年月日
本文标题:定向网络爬虫-开题报告
链接地址:https://www.777doc.com/doc-1455056 .html