1. 程式人生 > >scrapy下載圖片

scrapy下載圖片

github:https://github.com/chen19901225/picscra.git

關鍵程式碼:

class MyImagesPipeline(ImagesPipeline):
    def get_media_requests(self, item, info):
        yield Request(url=item['image_url'], headers=utils.get_updated_headers(Referer=item['source_url']))

    def item_completed(self, results, item, info):
        image_paths = [x['path'] for ok, x in results if ok]
        if not image_paths:
            raise DropItem('Item contains no images')

        item['image_path'] = image_paths
        return item

但是我有一個疑問:

如果 有多個層次的 Request,怎麼知道是在請示列表的時候,使用pipeline呢?

還是在獲取詳細資訊的時候,使用pipeline呢?