经常在京东买书,突发奇想,向看看京东畅销图书有哪些,于是,就有有了下面的代码。
python版本:3.5
编辑器:jupyter
首页链接:http://book.jd.com/booktop/0-0-0.html?category=1713-0-0-0-10005-1#comfort
因为今年还没过完,所以2017年全年的排行榜还没有出来,所以,这里就爬取2016年的
开始吧:
目的:爬取京东2016年图书销量榜100本书的信息
思路:
1、 分析网页结构,制定爬取策略
2、 依据策略,分步实现功能
3、 测试结果并将结果保存到pandas中
先来看看网页情况:
这个排行榜是分布在几个页面中的,因此,需要先获取分页链接,然后再获取书本信息
分析源码发现,书本信息保存在<li><li/>中,因此,可以通过BeautifulSoup方便获取资源
来看代码:
首先导入要使用的库
定义请求网页函数
编写BeautifulSoup处理功能模块
前面的函数是后面功能实现的基石,下面编写获取分页链接的函数
获取每个网页中书本信息
接下来,就是调用相应函数实现爬取资源的功能
结果展示:
因为这里每本书的出版社都不一致,所以,不能进行统计。如果感兴趣,还可以在上面代码的基础上,获取价格、作者、出版时间等数据,然后进行统计、可视化等操作。
百度搜索“就爱阅读”,专业资料,生活学习,尽在就爱阅读网92to.com,您的在线图书馆!