Я хочу хранить изображения непосредственно в Amazon S3. Вот мои settings.py:
ITEM_PIPELINES = {
'car_scraper.pipelines.MongoPipeline': 10,
'car_scraper.pipelines.SubscriptionsPipeline': 20,
'car_scraper.pipelines.PhotosPipeline': 1,
}
IMAGES_STORE = 's3://dev-images/photos'
AWS_ACCESS_KEY_ID = '...'
AWS_SECRET_ACCESS_KEY = '...'
Но когда я запускаю сканирование, я вижу в журналах:
INFO: Enabled item pipelines:
['car_scraper.pipelines.MongoPipeline',
'car_scraper.pipelines.SubscriptionsPipeline']
И если я изменю IMAGES_STORE
IMAGES_STORE = '/Users/user/Documents/img_car'
в логах:
INFO: Enabled item pipelines:
['car_scraper.pipelines.PhotosPipeline',
'car_scraper.pipelines.MongoPipeline',
'car_scraper.pipelines.SubscriptionsPipeline']
и фотографии сохранены. Почему не запускается PhotosPipeline для S3?
PhotosPipeline:
Class PhotosPipeline(ImagesPipeline):
def get_media_requests(self, item, info):
for image_url in item['photos']:
yield scrapy.Request(image_url)
def item_completed(self, results, item, info):
photos = [x['path'] for ok, x in results if ok]
if not photos:
raise DropItem("Item contains no photos")
item['photos'] = photos
return item