基于Python的网络爬虫系统设计毕业论文
2021-04-21 00:12:33
摘 要
Python语言又有使用方便,扩展性强等等适合设计网络爬虫的优点,使之成为新一代爬虫系统设计的热门语言。本文以网易云音乐热歌榜歌曲热门评论的获取为实例,分析主题爬虫模块化编程设计,对象网站的AES加密技术,对结果中反映出的用户数据进行初步分析。
关键词:网络爬虫;Python;AES加密;网易云音乐
Abstract
In the increasing amount of data on the Internet, search engines have become increasingly difficult to meet the needs of people to accurately find relevant data. As a tool for obtaining data automatically, web crawlers have begun to receive widespread attention. The Python language has the advantages of convenient use, high extensibility, etc., which are suitable for designing web crawlers, making it a popular language for the next generation crawler system design. This article analyzes the encryption method of NetEase cloud music to webpage information by crawling the NetEase cloud music hot song list song hot comment as an example. At the same time, it also provides a scalable and modular code preparation method.
Key words:web spider;Python;AES;Cloudmusic
目录
第一章 绪论 1
1.1课题背景 1
1.2网络爬虫的历史和分类 2
1.2.1网络爬虫的历史 2
1.2.2网络爬虫的分类 2
1.3网络爬虫的发展趋势 3
1.4Python简介 3
第二章 相关技术背景 3
2.1 主题网络爬虫的定义 3
2.2主题网络爬虫算法设计 4
2.3网络爬虫的架构与流程 4
2.3.1网络爬虫的架构 4
2.3.2网络爬虫流程 4
2.3.3基于Python的爬虫模块技术实现 5
2.4AES加密算法 5
2.4.1AES简介 5
2.4.2AES的算法结构 5
2.4.3AES算法的特点 6
2.4.4AES解密算法 6
2.4.5密码块链接(CBC) 7
第三章 系统分析 7
3.1需求分析 7
3.2可行性分析 8
3.2.1技术层面 8
3.2.2经济层面 8
3.3对象分析 8
3.3.1歌曲热评分析 8
3.3.2榜单歌曲信息分析 9
3.3.3加密算法分析 10
第四章 详细设计 13
4.1开发环境的架构 13
4.1.1Python版本选择和第三方库的安装 13
4.1.2在windows环境下配置环境变量 13
4.1.3Sublime text 3配置Python编译环境 13
4.2系统流程设计 14
4.3各个功能模块设计 15
4.3.1榜单歌曲信息获取模块 15
4.3.2歌曲热评获取模块 15
4.3.3解密模块 15
4.3.4获取参数模块 15
4.3.5获取json模块 15
4.3.6文件写入模块 16
4.3.7主函数模块 16
第五章 代码实现 16
5.1主函数部分 16
5.2代理服务器设置 16
5.3获取参数 17
5.4解密过程 17
5.5获取榜单歌曲信息 17
5.6抓取热门评论 18
5.7将评论写入文件 18
5.8注意事项 19
第六章 运行结果与分析 19
6.1程序编译 19
6.1.1编译结果 19
6.1.2编译结果分析 20
6.2代码运行 21
6.2.1代码运行结果 21
6.2.2代码运行结果分析 22
第七章 问题与总结 22
7.1问题 22
7.2总结 23
结束语 23
致谢 23
参考文献 24
第一章 绪论
1.1课题背景
随着时代的发展,智能终端和移动互联网已经从各个方面渗透进人们的生活之中。在这样的趋势之下,许多音乐网站都推出了属于自己的音乐客户端,而这些音乐客户端受到音乐文化多元化、用户黏度降低以及版权限制的影响,已经很难满足用户的视听需求。
网易公司在2013年4月,正式发布了旗下的移动端音乐APP——网易云有音乐。网易云音乐CEO曾经在演讲中提到,情感的传递和交流是人类行为的本性,希望用户在听歌是不只是听歌。网易云音乐是国内首家提出“音乐社交”概念的音乐APP,正是基于这个概念,网易云音乐在2016年用户数量突破两亿,一跃成为最受年轻用户欢迎的手机端音乐APP。
在这样的背景下,以网易云音乐为代表的音乐平台拥有的信息资料,对专业性用户数据分析有着十分重要的意义,而这些资料往往被隐藏在搜索引擎很难精准获取到的地方。而网络爬虫技术,正是为了解决传统搜索引擎种种缺陷而诞生和发展的。
1.2网络爬虫的历史和分类
1.2.1网络爬虫的历史
在互联网发展初期,数据提供方和数据搜索方数量相对较少,信息资料查找比较容易。伴随着互联网技术的高速发展,信息数量呈指数式增长,而数据获取的难度也是成倍提高。为了解决这一问题,专业搜索网站应运而生。
1990年,最早的现代搜索引擎Archie,由蒙特利尔大学学生Alan Emtage开发。当时还没有万维网,文件大量分散在FTP主机中,这就给人工查询带来了极大麻烦。而Archie依据使用者提供的表达式脚本程序自动搜索并查询网上的文件。受Archie启发,美国内华达System Computing Services大学在1993年开发出了另一个与Archie相似的搜索工具,不过这个工具更为强大,能够根据关键词检索网页。
当时,人们形象的把这种能够像“蜘蛛”一样在网络之间爬来爬去的机器人程序称为“爬虫”。
互联网的迅速发展带来了前所未有的数据信息量,新网页如同雨后春笋一样爆发式出现,这使得检索所有网页变成了一个不可能完成的任务。一些技术人员另辟蹊径,以Wanderer为基础,引入一个全新的思路——既然任意一个网页都有可能连向其他网站,那么从一个网站出发,就有可能检索到整个互联网的所有网站。1993年底,以JumpStation、The WWW Worm和RBSE spider为代表的搜索引擎如同雨后春笋一般,网络爬虫时代正式到来。
然而JumpStation和WWW Worm只是将找到的相关信息按照搜索的先后次序进行排列,结果呈现没有信息关联度的概念。而RBSE则是第一个将搜索结果按照关键词匹配程度排序的引擎。1994年4月,斯坦福大学的两名博士生,David Filo和美籍华人杨致远共同创办了超级目录索引Yahoo,并成功地使搜索引擎的概念深入人心。