热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

python爬取电子书_python爬取计算机电子书(源码移步github)

摘要:今年第一个项目,python爬取网络上公开的计算机电子书近8000本,在此基础上简要分析计算机专业的发展变迁。部分整理好的书籍下载链

摘要:今年第一个项目,python爬取网络上公开的计算机电子书近8000本,在此基础上简要分析计算机专业的发展变迁。部分整理好的书籍下载链接见文末。代码链接见文末。

计算机诞生以来不到100年,学术的、技术的或者一些不知所云的关于计算机的书籍已不胜凡几。不翻墙,在某知名学术网站上computer science书籍搜索就有25600条。

为囤书计,本着互联网分享精神,开发了一个python爬虫,来爬取网络上公开免费的电子书资源,主要技术特征(欢迎移步github,查看源码更多技术细节,链接文末):html.parser.HTMLParser子类化(或正则表达式),提取下载文件链接。

urlretrieve或urlopen,下载文件。

pandas,提取文件信息、错误信息写入数据库,并进行统计计算、转存excel表格。

threading实现多线程并行下载,单个producer提取下载链接,通过队列传递给多个consumer进行下载。

加锁,确保数据库、文件写入不冲突。

异常机制,判断服务器拒绝访问和超时,自动等待重启。

截止当前,一共爬取近8000本计算机电子书(肯定还不全,但就这些这辈子百分百也看不完了,手动捂脸),实际可下载7700余本,主要为pdf格式。其中200多个链接存在问题,正在尝试反馈源网站。

这么多书,一共包括110个关键词标签,按关键词分类可见如下差异。

对其中前15名进行放大,Java果然是第一人气语言(虽然我们是用的Python爬的)。当然咱Python也不弱,怎么也是紧随其后的二大爷……再往下,Javascript、C、C++都是比较主流的,各大论坛也常常出现一争高低的场景。

也可看出,玩硬件的也不少,网络编程、游戏编程、Web开发也都是挺热门的,都是就业热门啊。但是也发现可能人工智能、机器学习和大数据的书籍可能收录偏少了,这可是当前大热门啊。

再从每年变化情况看一看。2000年后的计算机书籍呈指数上升,专业越来越火。2016年后的书似乎有所减少,应当是因为新书出来还没有网友分享,也跟近年版权意识逐渐提高有关系。

对其中占比最大的前10个分类,作雷达图(绝对数量)、百分比条形图(相对数量)。

从绝对数量看,Java和游戏编程的书籍2013年就很多了,python、Javascript要来的更晚一点。但从相对数量看,Java的占比有所减少,python已呈反超之势。

以上分析,仅是从浩如烟海的计算机书籍中可公开免费下载的一小部分得出,纯属娱乐,更重要的是认认真真show me the code~~

源码请移步:zz-icoding/AllITeBooksCrawler​github.com

部分电子书已整理另文提供参考:爱coding:计算机电子书免费资源(中文)​zhuanlan.zhihu.com爱coding:计算机电子书免费资源(英文)​zhuanlan.zhihu.com



推荐阅读
author-avatar
bale999_816
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有