笔者习惯用kindle看书,经常逛贴吧、第三方网站捣腾一些kindle资源,偶然在一个网站上发现了好多电子书资源,但不知道该找些什么书,8000多本书,一本本的挑可真是让人头大,身为程序员,是不会容忍这种事情发生的,因此决定用Python把这些书籍全部爬下来,然后分析出一些质量高的书籍,选择性下载导入kindle阅读。
通过上述描述我们的需求变得很简单,首先通过该网站把相关书籍爬取下来,之后把爬取到的数据进行分析处理,得到对我们有用的数据,效果如下:
书评词库云:
豆瓣评分排名:
豆瓣评分3D立体柱状图:
具体步骤如下:
一、网页数据爬取
对于网页数据的爬取,我这里使用的是urllib的request来请求网页,使用BeautifulSoup来整理请求到的网页并进行数据处理,主要代码如下:
通过网页获取到总页数,当前页码,进行分页读取网页中的图书名称,评论数,以及图书详情链接,通过图书详情链接获取下载地址和下载密码,把爬取到的相关数据进行筛选(有的书籍版权限制不支持下载或不支持kindle相关格式)存储在mysql数据库中。
主要代码如下:
二、数据可视化
在这里我使用的是pyecharts来做可视化工具,pyecharts 是一个用于生成 Echarts 图表的类库,生成效果很棒。
使用SQL语句获取爬取的数据列表
提取出书名和评论量
生成词库云
效果如下:
根据豆瓣评分或评论数倒序获取排名前50的图书
根据评分和评论量逆序生成柱状图
效果如下:
遍历所有图书,24本一列生成3D立体柱状图
效果如下:
至此,根据书评及豆瓣评分对图书进行排序,通过排名选择感兴趣的图书,获取链接及密码下载导入kindle设备中。简单的数据爬取和可视化显示的分享到此结束!
#谢谢浏览点个赞吧#
领取专属 10元无门槛券
私享最新 技术干货