使用实例¶为了使用媒体管道,首先 enable it . 那么,如果蜘蛛返回一个 item object 使用URL字段 ( 在使用时 item types 对于预先定义的字段,必须同时定义URL字段和结果字段。例如,在使用图像管道时,项必须同时定义 import scrapy
class MyItem(scrapy.Item):
# ... other item fields ...
image_urls = scrapy.Field()
images = scrapy.Field()
如果要对URL键或结果键使用其他字段名,也可以重写它。 对于文件管道,设置 FILES_URLS_FIELD = 'field_name_for_your_files_urls'
FILES_RESULT_FIELD = 'field_name_for_your_processed_files'
对于图像管道,设置 IMAGES_URLS_FIELD = 'field_name_for_your_images_urls'
IMAGES_RESULT_FIELD = 'field_name_for_your_processed_images'
如果您需要更复杂的内容,并且想要覆盖自定义管道行为,请参见 扩展媒体管道 . 如果有多个图像管道继承自ImagePipeline,并且希望在不同的管道中具有不同的设置,则可以设置以管道类的大写名称开头的设置键。例如,如果您的管道名为mypipeline,并且您希望有自定义图像URL字段,那么您可以定义设置mypipeline图像URL字段,并且将使用自定义设置。 其他功能¶文件过期¶图像管道避免下载最近下载的文件。要调整此保留延迟,请使用 # 120 days of delay for files expiration
FILES_EXPIRES = 120
# 30 days of delay for images expiration
IMAGES_EXPIRES = 30
两种设置的默认值都是90天。 如果您有子类filespine的管道,并且希望对其进行不同的设置,则可以设置以大写类名开头的设置键。例如,给定名为MyPipeline的管道类,您可以设置设置键:
管道类MyPipeline的过期时间设置为180。 文件的上次修改时间用于确定文件的使用期限(以天为单位),然后将其与设置的过期时间进行比较,以确定文件是否已过期。 图像的缩略图生成¶图像管道可以自动创建下载图像的缩略图。 要使用此功能,必须设置 例如:: IMAGES_THUMBS = {
'small': (50, 50),
'big': (270, 270),
}
使用此功能时,图像管道将使用以下格式创建每个指定大小的缩略图: <IMAGES_STORE>/thumbs/<size_name>/<image_id>.jpg
在哪里?
存储图像文件的示例 <IMAGES_STORE>/full/63bbfea82b8880ed33cdb762aa11fab722a90a24.jpg
<IMAGES_STORE>/thumbs/small/63bbfea82b8880ed33cdb762aa11fab722a90a24.jpg
<IMAGES_STORE>/thumbs/big/63bbfea82b8880ed33cdb762aa11fab722a90a24.jpg
第一个是从网站下载的完整图像。 |
Archiver|手机版|笨鸟自学网 ( 粤ICP备20019910号 )
GMT+8, 2024-12-4 02:50 , Processed in 0.058836 second(s), 17 queries .