本实例讲解如何爬取豆瓣年度书单数据,本次需要根据链接下载图片并存储至指定文件夹。
目标网站:https://www.douban.com/doulist/114258184/
一、系统环境
win7
Python 3.8(64bit)
scrapy 2.0.1
二、思路分析
提取字段:书籍名称、评分、评价人数、作者、出版社、出版年、图片url,并且将图片下载至指定文件夹。
突破点:下载图片至指定文件夹
三、实现步骤
3.1创建项目
在cmd命令中输入下图所示的命令,创建项目。(一开始用了crawl的方法,会涉及到正则表达式,而翻页链接则超出了正则表达式,修改了很久,在正常情况下,用下图的方法创建项目即可,不要涉及正则。)
cd desktop #将文件夹切换至桌面
scrapy startproject ceshi #新建一个名为“ceshi”的项目
cd ceshi #将文件夹切换到ceshi
scrapy genspider ceshi_spider douban.com #新建一个名为“ceshi_spider”的文件
3.2编写代码
1、主要代码如图所示:
在编写的时候犯了个错误,class内部的引号没有写,写完之后正常。
因为原始字段中包含换行及空格,所以在字段中将其过滤:
item中的字段定义如图所示:
经测试打印结果正常:
3.3根据链接下载图片到指定文件夹
新定义了一个下载方法,在解析图片链接的时候,调用这个方法。
图片就源源不断的下载进来啦!