前言
Scrapy提供了一个 item pipeline ,来下载属于某个特定项目的图片。这条管道,被称作图片管道,在 ImagesPipeline 类中实现,提供了一个方便并具有额外特性的方法,来下载并本地存储图片。
开发环境及工具介绍
python 3.7
scrapy 1.7.3
xpath选择器
软件:pycharm
一、创建项目
在terminal里输入
scrapy startproject image #创建爬虫项目
scrapy genspider photo meishij.com #创建爬虫文件
这样项目就建好了。
项目结构如下:
二、编写 item.py
Item使用简单的class定义语法以及 Field 对象来声明。
import scrapy
class ImageItem(scrapy.Item):
# define the fields for your item here like:
# name = scrapy.Field()
image_urls = scrapy.Field()
image_name = scrapy.Field()
三、编写爬虫文件 photo.py
Spider类定义了如何爬取某个(或某些)网站。包括了爬取的动作(例如:是否跟进链接)以及如何从网页的内容中提取结构化数据(爬取item)。 换句话说,Spider就是您定义爬取的动作及分析某个网页(或者是有些网页)的地方。
import scrapy
from image.items import ImageItem
class PhotoSpider(scrapy.Spider):
name = 'photo'
allowed_domains = ['meishij.net']
start_urls = ['https://www.meishij.net/china-food/caixi/qingzhencai/'
def parse(self, response):
item = ImageItem(