毕设开题报告 及开题报告分析

上传人:第*** 文档编号:34060905 上传时间:2018-02-20 格式:DOC 页数:8 大小:83.50KB
返回 下载 相关 举报
毕设开题报告 及开题报告分析_第1页
第1页 / 共8页
毕设开题报告 及开题报告分析_第2页
第2页 / 共8页
毕设开题报告 及开题报告分析_第3页
第3页 / 共8页
毕设开题报告 及开题报告分析_第4页
第4页 / 共8页
毕设开题报告 及开题报告分析_第5页
第5页 / 共8页
点击查看更多>>
资源描述

《毕设开题报告 及开题报告分析》由会员分享,可在线阅读,更多相关《毕设开题报告 及开题报告分析(8页珍藏版)》请在金锄头文库上搜索。

1、开题报告如何写注意点1.一、对指导教师下达的课题任务的学习与理解 这部分主要是阐述做本课题的重要意义2.二、阅读文献资料进行调研的综述 这部分就是对课题相关的研究的综述 落脚于本课题解决了那些关键问题3.三、根据任务书的任务及文件调研结果,初步拟定执行实施的方案(含具体进度计划) 这部分重点写具体实现的技术路线 方案的具体实施方法和步骤了,具体进度计划只是附在后面的东西不是重点南京邮电大学通达学院毕业设计(论文)开题报告题目 基于 python 的网络爬虫系统的设计与实现学生姓名 徐亚洲 班级学号 12003426 专业 软件工程一、对指导教师下达的课题任务的学习与理解随着网络的快速发展和广泛

2、应用,大数据时代的到来,网络就像一个巨大的数据宝库,如何快速获取其中的数据资源成为亟待完成的新需求。然而网络上的信息资源大多是无组织并且动态变化的,光靠管理员手工去管理,很难将这些庞大,繁杂的数据进行有效的保存和利用,这就促使了网络爬虫技术的兴起。网络爬虫源自 Spider(或 Crawler、robots)等的意译。网络爬虫的定义有广义和狭义之分,狭义的定义为:利用标准的 http 协议,根据超链接和 Web 文档检索的方法遍历万维网信息空间的软件程序。广义的定义为:所有能利用 http 协议检索 Web 文档的软件都称之为网络爬虫。网络爬虫又被称为做网络蜘蛛、网络机器人,主要用于网络资源的

3、收集工作。是一种按照一定的规则,自动地抓取万维网信息的程序或者脚本。另外一些不常使用的名字还有蚂蚁、自动索引、模拟程序或者蠕虫。网络爬虫已经发展了很多年,并且搜索引擎也是爬虫的一种应用,通过搜索引擎能够更快速的获得有用的数据和信息。但是,一些通用性的搜索引擎也存在着一定的局限性,通用搜索引擎返回的结果可能包含了大量用户不关心的网页内容,而且通用搜索引擎有限的服务器资源与无限的网络资源之间存在的矛盾进一步加深,还有,就是通用搜索引擎不能支持给据语义的信息提出的查询和搜索。所以学习网络爬虫有很大的意义。因此,本课题基于 Python 编写基本的爬虫系统,用于网路爬虫的入门,为以后的爬虫学习奠定基础

4、。所以,对于本课题我设计并实现以个关于入门爬虫的系统-基于 python 的豆瓣网爬虫系统。二、阅读文献资料进行调研的综述 网络爬虫是一个功能很强大的自动提取网页的程序,它为搜索引擎从万维网下载网页,是搜索引擎的重要组成部分。它通过请求站点上的 html 文档访问某一个站点。它遍历 Web 空间,不断从一个站点移动到另一个站点,自动建立索引,并加入到网页数据库中。网络爬虫进入某个超级文本时,利用 html 语言的标记结构来搜索信息,及获取指向其他超级文本的 url 地址,可以完全不依赖于用户的干预实现网络上的自动“爬行”和搜索。本课题需要用 MySQL 来存取从网页上抓去到的数据,文献1讲述了

5、 MySQL 数据库的入门知识,该,学习该文献能够做到 MySQL 数据库的基本存取操作,满足本课题的实际操作要求。文献2和文献3讲述了 Python 的入门教程和 Python 的编程入门,通过学习文献可以了解 Python 的基本语法和 Python 的基本编程方法,对于本课题程序编写,能够拥有大概的思路和想法。文献4中提供了开发了一款支持并行的微博数据抓取工具的基本思路,该工具可以实时抓取微博中指定用户的粉丝信息、微博正文等内容;该工具利用关键字匹配技术 ,匹配符合规定条件的微博,并抓取相关内容。并且支持并行抓取信息。并行爬虫拥有较好的加速比,可以快速抓取数据。 文献5 基于信息数据分析

6、的微博研究综述J;研究微博信息数据的分析,在这类研究中,大多数以微博消息传播的三大构件-微博消息、用户、用户关系为研究对象。以微博消息传播和微博成员组织为主要研究内容,目的在于发祥微博中用户、消息传博、热点话题、用户关系网络等的规律。基于微博信息数据分析的研究近年来在国内外都取得了很多成果,掌握了微博中的大量特征。该文献从微博消息传播三大构件的角度,对当前基于信息数据分析的微博研究进行系统梳理,提出微博信息传播三大构件的概念,归纳了此类研究的主要研究内容及方法。 对于大多用户提出的与主题或领域相关的查询需求,传统的通用搜索引擎往往不能提供令人满意的结果网页。为了克服通用搜索引擎的以上不足,提出

7、了面向主题的聚焦爬虫的研究。文献6综述了聚焦爬虫技术的研究。其中介绍并分析了聚焦爬虫中的关键技术:抓取目标定义与描述,网页分析算法和网页分析策略,并根据网络拓扑、网页数据内容、用户行为等方面将各种网页分析算法做了分类和比较。聚焦爬虫能够克服通用爬虫的不足之处。文献7首先介绍了网络爬虫工作原理,传统网络爬虫的实现过程 ,并对网络爬虫中使用的关键技术进行了研究,包括网页搜索策略、URL 去重算法、网页分析技术、更新策略等。然后针对微博的特点和 Ajax 技术的实现方法,指出传统网络爬虫的不足,以及信息抓取的技术难点,深入分析了现有的基于Ajax 的网络爬虫的最新技术 通过模拟浏览器行为,触发 Ja

8、vaScript 事件( 如 click, onmouseover 等),解析 JavaScript 脚本,动态更新网页 DOM 树,抽取网页中的有效信息。最后,详细论述了面向 SNS 网络爬虫系统的设计方案,整体构架,以及各功能模块的具体实现。 面向微博的网络爬虫系统的实现是以新浪微博作为抓取的目标网站。结合新浪微博网页的特点,通过模拟用户行为,解析 JavaScript,建立 DOM 树来获取网页动态信息,并按照一定的规则提取出网页中的 URL 和有效信息,并将有效信息存入数据库。本系统成功的实现了基于 Ajax 技术的网页信息的提取。文献8引入网页页面分析技术和主题相关性分析技术,解决各

9、大网站微博相继提供了抓取微博的API,这些 API 都有访问次数的限制,无法满足获取大量微博数据的要求,同时抓取的数据往往很杂乱的问题。展开基于主题的微博网页爬虫的研究与设计。本文的主要工作有研究分析网页页面分析技术,根据微博页面特点选择微博页面信息获取方法;重点描述基于“剪枝”的广度优先搜索策略的思考以及设计的详细过 程,着重解决 URL 的去重、URL 地址集合动态变化等问题;研究分析短文本主题抽取技术以及多关键匹配技术,确定微博主题相关性分析的设计方案;最后设计 实现基于主题的微博网页爬虫的原型系统,实时抓取和存储微博数据。本文研究的核心问题是,根据微博数据的特点设计一种基于“剪枝” 的

10、广度优先搜索策略,并 将其应用到微博爬虫中;同时使用微博页面分析技术使得爬虫不受微博平台 API 限制,从而让用户尽可能准确地抓取主题相关的微博数据。 通过多次反复实验获取原型系统实验结果,将实验结果同基于 API 微博爬虫和基于网页微博爬虫的抓取效果进行对比分析得出结论:本文提出的爬行策略能够抓取 主题相关的微博数据,虽然在效率上有所降低,但在抓取的微博数据具有较好的主题相关性。这实验结果证明本论文研究的实现方案是可行的。文献9阐述了基于 ajax 的 web 应用程序的爬虫和用户界面状态改变的动态分析的过程和思路。文献10对于全球社交网络 Twitter,设计并实现了,一个爬虫系统,从另一

11、个角度阐明了 Python 在编写爬虫这个方面的强大和快速。仅仅用少量的代码就能实现爬虫系统,并且再强大的社交网站也可以利用 Python 编写出对应的爬虫系统爬取相关的数据用于分析。文献11 针对 Web 数据采集技术进行了介绍,分析了 Web 数据采集技术 在将非结构化数据转换为结构化数据方面的优势:速度快、准确性高。从 HTTP 协议层分析了 Web 数据抓取的原理,并重点介绍了如何实现基于 Python 的 Web 数据采集方案。Web 数据采集系统可以分为 :HTTP 交互和数据解析两个模块。文献12 提出并实现自动化测试平台,命名为 Desktop CheckList Testin

12、g。通过参照白盒测试自动化原理后,按照脚本语言的特点即运行时封装模板类改进为编译前封装模板文件。在该平台上可以自动化的运行 Python 黑盒用例并得到相应的运行结果反馈。 实验结果证明软件测试自动化平台对测试项目带来诸多便捷与改善。文献13设计并实现了一 种可以自动登录并可以根据更新频率快慢智能抓取数据的爬虫, 爬取由于权限和数据更新频繁等限制,传统的网络爬虫很难获取那一部分数据,不同于以往爬虫以页面为粒度,该爬虫以人为最小粒度,并以人与人之间的关系为抓取依据,在获取这类数据上有很好的性能。综上,在浏览器网络爬虫领域,很多技术已经很充分了,并且解决了诸如,数据爬取,页面分析等问题。但在根据语

13、义爬取数据和聚焦爬虫的方面,还并不是很完善,万维网上大量的有用的信息,或者语义相近的有用信息得不到利用,这是一种巨大的损失,所以对于爬虫的研究还是非常有必要的。三、根据任务书的任务及文献调研结果,初步拟定的执行(实施)方案(含具体进度计划)在文献4、文献7 、文献13 等中,都对爬虫程序的基本模块和设计进行了讨论。文献4 中将微博爬虫程序分为:微博登录、微博关系抓取、微博内容抓取、关键字匹配等 4 个模块,该爬虫侧重于微博中各种信息的抓取。所以我将后面的三个模块总结为内容抓取。文献7中的爬虫系统子模块包括:URL 管理模块、网页抓取模块、信息抽取模块、JavaScript 解析模块、DOM 构

14、建模块、事件处理模块、数据库实际模块等。文献13中,在系统设计与分析中,将该爬虫系统分为,模拟浏览器登录、节点获取模块、节点筛选模块、数据抓取模块、数据存储模块等 5 个模块。因此,根据分析,初步拟定本课题爬虫程序包括 5 个重要模块:模拟登录,页面抓取,内容抓取,数据库设计、数据存储模块。对于这 5 个模块,我给出了我初步理解实现过程:1.模拟登录流程图:模拟登录成功无验证码有验证码验证码判断手动输验证码提交 post 表单填写 username 和 password添加到 post 表单模拟登录准备2.页面抓取流程图:3.内容抓取流程图:返回抓取内容获取到页面代码根据 页 面代码规 律为要

15、抓取内容编写正 则表达式用正则表达式与页面代码匹配模拟登录成功首 页页 面抓取页面代码是否抓其他页是否获取 url,跳转返回页面代码4.数据库设计:根据所要爬取信息的网站的信息条目格式,设计了以下的一张用于初步存储的表。表名:dou_ban;表结构如下:字段名 数据类型 是否为空 是否主键 默认值 说明dynamic_id varchar(30) NOT NULL 是 动态 iduser_id varchar(30) NOT NULL 否 发动态的人的昵称dynamic_title varchar(50) NOT NULL 否 动态标题release_time varchar(30) NOT

16、NULL 否 动态发布时间from_place varchar(30) NOT NULL 否 动态的来源5. 数据存储模块包含数据库连接的获取和把获取到的信息存到数据库的表中。例如 sql 语句 sql=insert into dou_ban(dynamic_id,user_nickname,dynamic_title,release_time,from_place) values(+gr0+,+gr1+,+gr3+,+gr5+,+gr8+) 具体执行计划如下:2016.2.25-2016.4.1 中期检查阶段:完成基于 python 的网络爬虫系统的设计方案,并做好相应的中期检查准备工作。阶段重点: 1.熟悉 python 语言的开发环境,掌握 Mysql 数据库操作技术;2.

展开阅读全文
相关资源
相关搜索

当前位置:首页 > 办公文档 > 解决方案

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号