基于mongodb和网络爬虫的数据管理项目总结报告

0 下载量 90 浏览量 更新于2024-01-25 收藏 841KB DOC 举报
基于 mongodb 和网络爬虫的数据管理项目总结报告.doc是云南大学软件学院 2016-2017 学年上学期网络开放源码体系课程的期末课程报告。报告内容涵盖了对于这门课程的学习成果和个人成绩的总结,以及对于使用 mongodb 和网络爬虫进行数据管理项目的总结。报告中还包括了学号、姓名、成绩等个人信息,以及对于完成提交时间、指标内容分值和评估标准得分等相关信息的总结。 在本报告中,我对于在网络开放源码体系课程中的学习成果进行了总结,并对于个人成绩进行了详细的分析和反思。在课程学习过程中,我对于网络开放源码体系有了更深入的了解,并且通过实践题目的完成,我对于 mongodb 和网络爬虫的使用有了更加全面的掌握。在期末大作业中,我对于数据管理项目进行了实际操作,并取得了一定的成果。 在项目总结报告中,我对于使用 mongodb 和网络爬虫进行数据管理项目的过程进行了详细的描述,并对于项目取得的成果和遇到的问题进行了分析和总结。我不仅实现了对于数据的爬取和存储,还对于数据进行了有效的管理和分析,取得了一定的效果。在实际操作中,我遇到了一些技术挑战和困难,但通过查阅资料和与同学讨论,最终都得以解决。 除此之外,本报告还对于个人成绩进行了详细的分析和总结,对于学习过程中的收获和不足进行了自我评价,并对于今后的学习和工作制定了明确的目标和计划。通过本报告的撰写,我对于自己在这门课程中的学习情况和成绩有了更清晰的认识,也为自己今后的发展规划了更明确的方向。 总的来说,基于 mongodb 和网络爬虫的数据管理项目总结报告.doc详细总结了我在网络开放源码体系课程中的学习成果和个人成绩,以及对于使用 mongodb 和网络爬虫进行数据管理项目的总结。报告内容涵盖了个人信息、学习成果、项目总结以及对于今后发展的规划,是对于这门课程学习过程的全面总结和对于个人成绩的详细分析。通过本报告的撰写,我对于自己在学习中的优势和不足有了更清晰的认识,也为今后的学习和工作制定了更具体的目标和计划。
2022-12-24 上传
网络爬虫调研报告 基本原理 Spider概述 Spider即网络爬虫 ,其定义有广义和狭义之分。狭义上指遵循标准的 http协议利用超链接和 Web文档检索的方法遍历万维网信息空间的软件程序 ;而广义的定义则是所有能遵循 http协议检索 Web文档的软件都称之为网络爬虫。 Spider是一个功能很强的自动提取网页的程序 ,它为搜索引擎从万维网上下载网页 ,是搜索引擎的重要组成 .它通过请求站点上的 HTML文档访问某一站点。它遍历 Web空间 ,不断从一个站点移动到另一个站点 ,自动建立索引 ,并加入到网页数据库中。网络爬虫进入某个超级文本时 ,它利用 HTML语言的标记结构来搜索信息及获取指向其他超级文本的 URL地址 ,可以完全不依赖用户干预实现网络上的自动爬行和搜索。 Spider的队列 (1)等待队列 :新发现的 URL被加入到这个队列 ,等待被 Spider程序处理 ; (2)处理队列 :要被处理的 URL被传送到这个队列。为了避免同一个 URL被多次处理 ,当一个 URL被处理过后 ,它将被转移到完成队列或者错误队列 (如果发生错误 )。 (3)错误队列 :如果在下载网页是发生错误 ,该 URL将被加入 到错误队列。 (4)完成队列 :如果在处理网页没有发生错误 ,该 URL将被加入到完成队列。 网络爬虫搜索策略 在抓取网页的时候 ,目前网络爬虫一般有两种策略 :无主题搜索与基于某特定主体的专业智能搜索。其中前者主要包括 :广度优先和深度优先。广度优先是指网络爬虫会先抓取起始网页中链接的所有网页 ,然后再选择其中的一个链接网页 ,继续抓取在此网页中链接的所有网页。这是最常用的方式,因为这个方法可以让网络爬 虫并行处理 ,提高其抓取速度。深度优先是指网络爬虫会从起始页开始 ,一个链接一个链接跟踪下去 ,处理完这条线路之后再转入下一个起始页 ,继续跟踪链接。这个方法有个优点是网络爬虫在设计的时候比较容易。大多数网页爬行 器采用宽度优先搜索策略或者是对这种策略的某些改进。 在专业搜索引擎中 ,网络爬虫的任务是获取 Web页面和决定链接的访问顺序 ,它通常从一个 "种子集 "(如用户查询、种子链接或种子页面 )发,以迭代的方式访问页面和提取链接。搜索过程中 ,未访问的链接被暂存在一个称为 "搜索前沿 "(Spider Frontier)的队列中 ,网络爬虫根据搜索前沿中链接的 "重要程度 "决定下一个要访问的链接。如何评价和预测链接的 "重要程度 "(或称价值 )是决定网络爬虫搜索策略的关键。 众多的网络爬虫设计各不相同 ,但归根结底是采用不同的链接价值评价标准。 常用开源网络爬虫介绍及其比较 Nutch 开发语言:Java 简介: Apache的子项目之一,属于Lucene项目下的子项目。 Nutch是一个基于Lucene,类似Google的完整网络搜索引擎解决方案,基于Hadoop的 分布式处理模型保证了系统的性能,类似Eclipse的插件机制保证了系统的可客户化,而 且很容易集成到自己的应用之中。 Larbin 开发语言:C++ 简介   larbin是一种开源的网络爬虫/网络蜘蛛,由法国的年轻人 Sébastien Ailleret独立开发。larbin目的是能够跟踪页面的url进行扩展的抓取,最后为搜索引擎 提供广泛的数据来源。   Larbin只是一个爬虫,也就是说larbin只抓取网页,至于如何parse的事情则由 用户自己完成。另外,如何存储到数据库以及建立索引的事情 larbin也不提供。   latbin最初的设计也是依据设计简单但是高度可配置性的原则,因此我们可以看 到,一个简单的larbin的爬虫可以每天获取500万的网页,非常高效。 Heritrix 开发语言:Java 简介 与Nutch比较 Heritrix 和 Nutch。二者均为Java开源框架,Heritrix 是 SourceForge上的开源产品,Nutch为Apache的一个子项目,它们都称作网络爬虫/蜘蛛( Web Crawler),它们实现的原理基本一致:深度遍历网站的资源,将这些资源抓取到本地, 使用的方法都是分析网站每一个有效的URI,并提交Http请求,从而获得相应结果,生成 本地文件及相应的日志信息等。 Heritrix 是个 "archival crawler" -- 用来获取完整的、精确的、站点内容的深度复制。包括获取图像以及其他非文本内容。 抓取并存储相关的内容。对内容来者不拒,不对页面进行内容上的修改。重新爬行对相 同的URL不针对先前的进行替换。爬虫通过Web用户界面启动、监控、调整,允许弹性的 定义要获取的URL。 二者的差异: Nutch 只获取并保存可索引的内容。Heritrix则是照单全收。力求保存页