上次使用了BeautifulSoup库爬取电影排行榜,爬取相对来说有点麻烦,爬取的速度也较慢。本次使用的lxml库,我个人是最喜欢的,爬取的语法很简单,爬取速度也快。
本次爬取的豆瓣书籍排行榜的首页地址是:
https://www.douban.com/doulist/1264675/?start=0&sort=time&playable=0&sub_type=
该排行榜一共有22页,且发现更改网址的 start=0 的 0 为25、50就可以跳到排行榜的第二、第三页,所以后面只需更改这个数字然后通过遍历就可以爬取整个排行榜的书籍信息。
本次爬取的内容有 书名 、 评分 、 评价数 、 出版社 、 出版年份 以及 书籍封面图 ,封面图保存为图片,其他数据存为csv文件,方面后面读取分析。
如果有想学习python的程序员,可来我的python学习扣qun:835017344,免费送python的视频教程噢!我每晚上8点还会在群内直播讲解python知识,欢迎大家前来学习交流。
本次的项目步骤:一、分析网页,确定爬取数据
二、使用lxml库爬取内容并保存
三、读取数据并选择部分内容进行分析
- 步骤一:
分析网页源代码可以看到,书籍信息在属性为 class ="doulist-item" 的 div 标签中,打开发现,我们需要爬取的信息都在标签内部,通过xpath语法我们可以很简便的爬取所需内容。
(书籍各类信息所在标签)
所需爬取的内容在 class为post、title、rating、abstract的div标签中。
- 步骤二:
- 先定义爬取函数,爬取所需内容
- 执行函数,并存入csv文件
具体代码如下: 注:转载代码请标明出处