scrapy 2.3 下载处理其他功能

2021-06-17 11:54 更新

文件过期

图像管道避免下载最近下载的文件。要调整此保留延迟,请使用 ​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
以上内容是否对您有帮助:
在线笔记
App下载
App下载

扫描二维码

下载编程狮App

公众号
微信公众号

编程狮公众号