scrapy 2.3 支持的存儲(chǔ)

2021-06-17 11:55 更新

文件系統(tǒng)存儲(chǔ)

文件使用 SHA1 hash 文件名的URL。

例如,以下圖像URL::

http://www.example.com/image.jpg

誰的 ?SHA1 hash? 是::

3afec3b4765f8f0a07b78f98c07b83f013567a0a

將下載并存儲(chǔ)在以下文件中::

<IMAGES_STORE>/full/3afec3b4765f8f0a07b78f98c07b83f013567a0a.jpg

在哪里?

  • ?<IMAGES_STORE>? 目錄是否在中定義? ?IMAGES_STORE? 圖像管道的設(shè)置。
  • full 是一個(gè)子目錄,用于從縮略圖中分離完整圖像(如果使用)。有關(guān)詳細(xì)信息,請(qǐng)參閱 圖像的縮略圖生成 .

FTP服務(wù)器存儲(chǔ)

2.0 新版功能.

?FILES_STORE? 和 ?IMAGES_STORE? 可以指向FTP服務(wù)器。Scrapy會(huì)自動(dòng)將文件上傳到服務(wù)器。

?FILES_STORE? 和 ?IMAGES_STORE? 應(yīng)以下列形式之一書寫:

ftp://username:password@address:port/path
ftp://address:port/path

如果 ?username? 和 ?password? 不提供,它們是從 ?FTP_USER? 和 ?FTP_PASSWORD? 分別設(shè)置。

FTP支持兩種不同的連接模式:主動(dòng)或被動(dòng)。Scrapy默認(rèn)使用被動(dòng)連接模式。要使用活動(dòng)連接模式,請(qǐng)?jiān)O(shè)置 ?FEED_STORAGE_FTP_ACTIVE? 設(shè)置為 ?True? .

Amazon S3存儲(chǔ)

?FILES_STORE? 和 ?IMAGES_STORE? 可以表示AmazonS3存儲(chǔ)桶。Scrapy會(huì)自動(dòng)將文件上傳到bucket。

例如,這是一個(gè)有效的 ?IMAGES_STORE? 價(jià)值:

IMAGES_STORE = 's3://bucket/images'

您可以修改用于存儲(chǔ)文件的訪問控制列表(ACL)策略,該策略由 ?FILES_STORE_S3_ACL? 和 ?IMAGES_STORE_S3_ACL? 設(shè)置。默認(rèn)情況下,acl設(shè)置為 ?private? . 要使文件公開,請(qǐng)使用 ?public-read? 政策:

IMAGES_STORE_S3_ACL = 'public-read'

有關(guān)詳細(xì)信息,請(qǐng)參閱 canned ACLs 在AmazonS3開發(fā)者指南中。

因?yàn)橄铝鞯臇|西 ?botocore? 在內(nèi)部,您還可以使用其他S3,如存儲(chǔ)。像自我托管這樣的存儲(chǔ) Minio 或 s3.scality . 您所需要做的就是在Scrapy設(shè)置中設(shè)置端點(diǎn)選項(xiàng):

AWS_ENDPOINT_URL = 'http://minio.example.com:9000'

對(duì)于自托管,您可能覺得不需要使用SSL,也不需要驗(yàn)證SSL連接::

AWS_USE_SSL = False # or True (None by default)
AWS_VERIFY = False # or True (None by default)

谷歌云存儲(chǔ)

?FILES_STORE? 和 ?IMAGES_STORE? 可以表示一個(gè)谷歌云存儲(chǔ)桶。Scrapy會(huì)自動(dòng)將文件上傳到bucket。(需要 google-cloud-storage )

例如,這些是有效的 ?IMAGES_STORE? 和 ?GCS_PROJECT_ID? 設(shè)置::

IMAGES_STORE = 'gs://bucket/images/'
GCS_PROJECT_ID = 'project_id'

有關(guān)身份驗(yàn)證的信息,請(qǐng)參見 documentation .

您可以修改用于存儲(chǔ)文件的訪問控制列表(ACL)策略,該策略由 ?FILES_STORE_GCS_ACL? 和 ?IMAGES_STORE_GCS_ACL? 設(shè)置。默認(rèn)情況下,acl設(shè)置為 '' (空字符串)這意味著云存儲(chǔ)將bucket的默認(rèn)對(duì)象acl應(yīng)用于該對(duì)象。要使文件公開,請(qǐng)使用 ?publicRead? 政策:

IMAGES_STORE_GCS_ACL = 'publicRead'

有關(guān)詳細(xì)信息,請(qǐng)參閱 Predefined ACLs 在谷歌云平臺(tái)開發(fā)者指南中。

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

掃描二維碼

下載編程獅App

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

編程獅公眾號(hào)