scrapy 2.3 下載處理其他功能

2021-06-17 11:54 更新

文件過(guò)期

圖像管道避免下載最近下載的文件。要調(diào)整此保留延遲,請(qǐng)使用 ?FILES_EXPIRES? 設(shè)置(或) ?IMAGES_EXPIRES? ,對(duì)于圖像管道),指定延遲天數(shù):

# 120 days of delay for files expiration
FILES_EXPIRES = 120

# 30 days of delay for images expiration
IMAGES_EXPIRES = 30

兩種設(shè)置的默認(rèn)值都是90天。

如果您有子類(lèi)filespine的管道,并且希望對(duì)其進(jìn)行不同的設(shè)置,則可以設(shè)置以大寫(xiě)類(lèi)名開(kāi)頭的設(shè)置鍵。例如,給定名為MyPipeline的管道類(lèi),您可以設(shè)置設(shè)置鍵:

mypipeline_files_expires=180

管道類(lèi)MyPipeline的過(guò)期時(shí)間設(shè)置為180。

圖像的縮略圖生成

圖像管道可以自動(dòng)創(chuàng)建下載圖像的縮略圖。

要使用此功能,必須設(shè)置 ?IMAGES_THUMBS? 到一個(gè)字典,其中鍵是縮略圖名稱(chēng),值是它們的尺寸。

例如::

IMAGES_THUMBS = {
    'small': (50, 50),
    'big': (270, 270),
}

使用此功能時(shí),圖像管道將使用以下格式創(chuàng)建每個(gè)指定大小的縮略圖:

<IMAGES_STORE>/thumbs/<size_name>/<image_id>.jpg

在哪里?

  • ?<size_name>? 是在 ?IMAGES_THUMBS? 字典鍵 (?small? , ?big? 等)
  • ?<image_id>? 是 SHA1 hash 圖像URL的

存儲(chǔ)圖像文件的示例 ?small? 和 ?big? 縮略圖名稱(chēng):

<IMAGES_STORE>/full/63bbfea82b8880ed33cdb762aa11fab722a90a24.jpg
<IMAGES_STORE>/thumbs/small/63bbfea82b8880ed33cdb762aa11fab722a90a24.jpg
<IMAGES_STORE>/thumbs/big/63bbfea82b8880ed33cdb762aa11fab722a90a24.jpg

第一個(gè)是從網(wǎng)站下載的完整圖像。

過(guò)濾掉小圖像

使用圖像管道時(shí),可以刪除過(guò)小的圖像,方法是在 ?IMAGES_MIN_HEIGHT? 和 ?IMAGES_MIN_WIDTH? 設(shè)置。

例如::

IMAGES_MIN_HEIGHT = 110
IMAGES_MIN_WIDTH = 110

注解

大小約束根本不影響縮略圖的生成。

可以只設(shè)置一個(gè)大小約束或同時(shí)設(shè)置兩個(gè)大小約束。當(dāng)同時(shí)設(shè)置這兩種尺寸時(shí),將只保存滿足這兩種最小尺寸的圖像。對(duì)于上面的示例,大小為(105 x 105)或(105 x 200)或(200 x 105)的圖像都將被刪除,因?yàn)橹辽儆幸粋€(gè)維度比約束短。

默認(rèn)情況下,沒(méi)有大小約束,因此所有圖像都會(huì)被處理。

允許重定向

默認(rèn)情況下,媒體管道忽略重定向,即HTTP重定向到媒體文件URL請(qǐng)求將意味著媒體下載失敗。

要處理媒體重定向,請(qǐng)將此設(shè)置設(shè)置為 ?True? ::

MEDIA_ALLOW_REDIRECTS = True
以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)