Python出现之前,若需要你编写一个程序,从指定网站批量下载图片,对于不是程序员的你来说,几乎是不可能的事情。你学习了Python,就不一样了,只需半天的时间,编写几十行Python代码,就可以编写一个爬取图片的程序。下面开始编写爬虫程序之旅。
使用Scrapy创建一个爬虫项目使用Scrapy开发一个基于Python的爬虫程序非常简单,你只需要定制开发几个模块就可以轻松地实现一个爬虫,用来抓取网站图片。Scrapy提供了创建爬虫项目的命令,该命令可以在Winodws命令行窗口、PyCharm、VisualStudioCode等开发环境的终端直接执行。在Windows命令行窗口输入下面的命令,创建爬虫项目:scrapystartprojectimagespiderimagespider是爬虫项目名称,该命令执行后,会在命令行窗口当前目录下创建imagespider目录。修改Item数据容器爬虫程序主要爬取网站的图片,修改项目默认的Item数据,修改后的item.py代码如下:importscrapyclassImagespiderItem(scrapy.Item):#定义image_urls数据项,存储图片文件URL路径image_urls=scrapy.Field()#定义image_paths数据项,存储图片文件下载路径image_paths=scrapy.Field()数据项image_urls存储图片URL,爬虫处理函数提取网站内容所有img标签的src属性值,并赋值给该数据项。数据项image_paths存储已下载图片文件的存储路径。修改项目默认的管道类Scrapy专门提供了一个用于下载网络图片的管道类ImagesPipeline,它可以将图片下载到本地,并将图片格式转换为JPG格式,也可以生成缩略图,并能避免重复下载已有的图片。图像管道类依赖于Python第三方库Pillow4.0.0或更高版本,若本地没有安装Pillow库或版本较低,需要安装或更新Pillow库。
购买专栏解锁剩余71%