Python一键爬取你所关心的书籍信息

本文介绍了如何使用Python爬取豆瓣图书页面上的出版社、出版时间、ISBN、定价、评分等信息,针对输入的书名单,通过分析豆瓣的搜索提示JSON数据并利用XPath解析HTML,实现了数据的抓取和整合,最后进行数据分析。
摘要由CSDN通过智能技术生成

640?wx_fmt=gif

作者:梅破知春近,准数据分析师

个人简书专栏:放翁lcf https://www.jianshu.com/u/ea4b6b1d2c22

640前言  640

平时看到的豆瓣爬虫基本都是爬豆瓣top100电影、某电影热评、top100图书、热门图书等,最近遇到的一个需求是根据一堆书名的列表(或者书名Excel文件)爬取对应的书目信息,也就是豆瓣图书页面上的出版社、出版时间、ISBN、定价、评分、评分人数等信息,再整合到pandas里进行处理,最后可以进行数据分析。


640需求来源  640

最近整理书目的时候需要根据几百本书的书名整理出对应的出版社、出版时间、ISBN、评分等属性,书单Excel如下图1中的表。批量处理肯定是用爬虫啦,查了一下没有发现相似的文章,并且自己操作时也遇到了比较有趣的问题,于是把自己的操作思路和过程整理成本文。

640?wx_fmt=other

图1,书单数据部分截图


640爬取过程  640

页面分析

首先分析豆瓣图书首页:book.douban.com,直接搜索书名时可以看到搜索参数是写在url上的,于是想着直接用https://book.douban.com/subject_search?search_text={0}&cat=1001'.format('书名'),直接改search_text参数,在这个页面按F12调出控制台,失望的是这个url返回的html是不含数据的,如图2。关键是找了一段时间还是没找到异步返回的数据json(如果有人找到了豆瓣subject_search?search_text={0}&cat=1001这类页面的书籍数据的位置欢迎告诉我呀),这时候考虑用Selenium或者查其他接口。

640?wx_fmt=other

图2,基于搜索url的html截图

json分析

注意到豆瓣图书的搜索页面有一个搜索提示,于是在控制台查Network发现搜索提示返回的直接是一个json,例如查“未来简史”,结果如下:</

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值