scrapy 2.3 下载处理其他功能
文件过期
图像管道避免下载最近下载的文件。要调整此保留延迟,请使用 FILES_EXPIRES
设置(或) IMAGES_EXPIRES
,对于图像管道),指定延迟天数:
# 120 days of delay for files expiration
FILES_EXPIRES = 120
# 30 days of delay for images expiration
IMAGES_EXPIRES = 30
两种设置的默认值都是90天。
如果您有子类filespine的管道,并且希望对其进行不同的设置,则可以设置以大写类名开头的设置键。例如,给定名为MyPipeline的管道类,您可以设置设置键:
mypipeline_files_expires=180
管道类MyPipeline的过期时间设置为180。
图像的缩略图生成
图像管道可以自动创建下载图像的缩略图。
要使用此功能,必须设置 IMAGES_THUMBS
到一个字典,其中键是缩略图名称,值是它们的尺寸。
例如::
IMAGES_THUMBS = {
'small': (50, 50),
'big': (270, 270),
}
使用此功能时,图像管道将使用以下格式创建每个指定大小的缩略图:
<IMAGES_STORE>/thumbs/<size_name>/<image_id>.jpg
在哪里?
-
<size_name>
是在 IMAGES_THUMBS
字典键 (small
, big
等) -
<image_id>
是 SHA1 hash 图像URL的
存储图像文件的示例 small
和 big
缩略图名称:
<IMAGES_STORE>/full/63bbfea82b8880ed33cdb762aa11fab722a90a24.jpg
<IMAGES_STORE>/thumbs/small/63bbfea82b8880ed33cdb762aa11fab722a90a24.jpg
<IMAGES_STORE>/thumbs/big/63bbfea82b8880ed33cdb762aa11fab722a90a24.jpg
第一个是从网站下载的完整图像。
过滤掉小图像
使用图像管道时,可以删除过小的图像,方法是在 IMAGES_MIN_HEIGHT
和 IMAGES_MIN_WIDTH
设置。
例如::
IMAGES_MIN_HEIGHT = 110
IMAGES_MIN_WIDTH = 110
注解
大小约束根本不影响缩略图的生成。
可以只设置一个大小约束或同时设置两个大小约束。当同时设置这两种尺寸时,将只保存满足这两种最小尺寸的图像。对于上面的示例,大小为(105 x 105)或(105 x 200)或(200 x 105)的图像都将被删除,因为至少有一个维度比约束短。
默认情况下,没有大小约束,因此所有图像都会被处理。
允许重定向
默认情况下,媒体管道忽略重定向,即HTTP重定向到媒体文件URL请求将意味着媒体下载失败。
要处理媒体重定向,请将此设置设置为 True
::
MEDIA_ALLOW_REDIRECTS = True