【9A文】山东建筑大学计算机网络课程设计《基于Python的网络爬虫设计》
10页1、【MeiWei_81重点借鉴文档】山东建筑大学课 程 设 计 成 果 报 告题 目: 基于PRthon的网络爬虫设计课 程: 计算机网络A院 (部): 管理工程学院专 业: 信息管理与信息系统班 级: 学生姓名:学 号: 指导教师: 完成日期: 【MeiWei_81重点借鉴文档】目 录1 设计目的12 设计任务内容13 网络爬虫程序总体设计14 网络爬虫程序详细设计14.1 设计环境和目标分析14.1.1 设计环境14.1.2 目标分析24.2 爬虫运行流程分析24.3 控制模块详细设计34.3 爬虫模块详细设计34.3.1 URL管理器设计34.3.2 网页下载器设计34.3.3 网页解析器设计34.4数据输出器详细设计45 调试与测试45.1 调试过程中遇到的问题45.2测试数据及结果显示56 课程设计心得与体会57 参考文献68 附录1 网络爬虫程序设计代码69 附录2 网络爬虫爬取的数据文档981 设计目的本课程设计是信息管理与信息系统专业重要的实践性环节之一,是在学生学习完计算机网络课程后进行的一次全面的综合练习。本课程设计的目的和任务:1巩固和加深学生对计算机网络基本知识的
2、理解和掌握;2培养学生进行对网络规划、管理及配置的能力或加深对网络协议体系结构的理解或提高网络编程能力;3提高学生进行技术总结和撰写说明书的能力。2 设计任务内容网络爬虫是从web中发现,下载以及存储内容,是搜索引擎的核心部分。传统爬虫从一个或若干初始网页的URL开始,获得初始网页上的URL,在抓取网页的过程中,不断从当前页面上抽取新的URL放入队列,直到满足系统的一定停止条件。参照开放源码分析网络爬虫实现方法,给出设计方案,画出设计流程图。选择自己熟悉的开发环境,实现网络爬虫抓取页面、从而形成结构化数据的基本功能,界面适当美化。给出软件测试结果。3 网络爬虫程序总体设计URL管理器数据输出器网页下载器网页解析器爬虫控制器在本爬虫程序中共有三个模块:1、 爬虫调度端:启动爬虫,停止爬虫,监视爬虫的运行情况2、 爬虫模块:包含三个小模块,URL管理器、网页下载器、网页解析器。(1) URL管理器:对需要爬取的URL和已经爬取过的URL进行管理,可以从URL管理器中取出一个待爬取的URL,传递给网页下载器。(2) 网页下载器:网页下载器将URL指定的网页下载下来,存储成一个字符串,传递给网
3、页解析器。(3) 网页解析器:网页解析器解析传递的字符串,解析器不仅可以解析出需要爬取的数据,而且还可以解析出每一个网页指向其他网页的URL,这些URL被解析出来会补充进URL管理器3、数据输出模块:存储爬取的数据4 网络爬虫程序详细设计4.1 设计环境和目标分析4.1.1 设计环境IDE:pRcharmPRthon版本:pRthon2.7.134.1.2 目标分析目标:从百度词条PRthon开始,以广度优先的方式,爬取相关联的若干词条网页的标题和简介(1)初始URL:http:/ 数据格式:标题PRthon简介(4)页面编码:utf-84.2 爬虫运行流程分析爬虫程序的运行流程如图所示。(1) 爬虫控制器从给定的URL开始,将给定的初始URL添加到URL管理器中,然后调用URL管理器的相关方法,判断是否有待爬取的URL(2) URL判断是否有待爬取的URL,如果有待爬取的URL,则返回给控制器,控制器将这个URL传递给网页下载器,下载该网页(3) 网页下载器将下载好的数据返回给控制器,控制器再将返回的数据传递给网页解析器解析(4) 网页解析器解析网页之后获取网页数据和网页的URL链接
4、,再将这两个数据传递给控制器(5) 控制器得到解析出来的数据之后,将新的URL链接传递给URL管理器,将价值数据传递给数据输出器输出(6) 数据输出器以文本的形式输出传递进来的数据。(7) 回到第一步,循环4.3 控制模块详细设计爬虫控制器主要负责调度各个模块,所以在设计的时候只需要一次调用其他模块的方法,给对应的模块传递数据即可。比较简单,可参见附录1查看源码。4.3 爬虫模块详细设计4.3.1 URL管理器设计URL管理器主要管理待抓取的URL集合和已抓取的URL集合。URL管理器设计的难点在于:防止重复抓取,防止循环抓取。判断是否还有待爬取URL添加新URL到待爬取集合中获取待爬取URLURL管理器将URL从待爬取集合移动端已爬取集合判断待添加URL是否在容器中常用的URL管理器存储方式有三种,一是使用pRthon内存即set集合来存储URL,二是使用数据库,例如MRSQL,三是使用缓存数据库,例如redis。因为这只是个简单的pRthon爬虫,所以我们选择利用内存存储URL。建立两个集合,一个为待爬取集合,一个为已爬取集合,功能上图所示。4.3.2 网页下载器设计网页下载器是将
《【9A文】山东建筑大学计算机网络课程设计《基于Python的网络爬虫设计》》由会员Jerm****014分享,可在线阅读,更多相关《【9A文】山东建筑大学计算机网络课程设计《基于Python的网络爬虫设计》》请在金锄头文库上搜索。
中考化学专题12 常见的酸和碱-中考化学备考百日捷进提升系列
中考语文复习:记叙文阅读指导
中考历史(人教版-北部湾专版)总复习课件-8年级上册-第4单元
人教版八年级语文上册优品课件-第6课 阿长与《山海经》-1
中考历史(人教版-北部湾专版)总复习课件-8年级上册-第1单元
中考历史高分突破系列-近四年选择题剖析与实战训练
中考语文(人教版-通用版)总复习课件:专题15-议论文阅读
中考化学专题10 碳及其氧化物-中考化学备考百日捷进提升系列
中考物理高分突破复习-第6章 质量和密度
中考历史(人教版-北部湾专版)总复习课件-9年级上册-第7单元
中考英语高分突破系列-语法精练精讲-第五节介词和介词短语
人教版八年级语文上册优品课件-桥之美-1
中考语文(人教版-通用版)总复习课件:专题12-文言文阅读-第2节-课外文言文阅读
中考英语高分突破系列-语法精练精讲-第十一节句子种类、简单句和主谓一致
中考英语高分突破系列-语法精练精讲-第一节名 词
中考语文复习现代文阅读解题攻略课件-第三章-文学类文本阅读1
中考语文复习现代文阅读解题攻略课件-第一章-说明文阅读 1
中考化学专题08 空气和水-中考化学备考百日捷进提升系列
中考物理高分突破复习-第12章 欧姆定律
中考英语高分突破系列-题型解题指导-第一节语法选择
2024-05-03 1页
2024-05-03 1页
2024-05-03 2页
2024-05-03 2页
2024-05-03 4页
2024-05-03 1页
2024-05-03 37页
2024-05-03 1页
2024-05-03 1页
2024-05-03 2页