鍍金池/ 問答/人工智能  數(shù)據(jù)分析&挖掘  Java  Python/ Scrapy ImagesPipeline類無法執(zhí)行。

Scrapy ImagesPipeline類無法執(zhí)行。

scrapy爬取網(wǎng)頁圖片時,在pipelines文件中自定義了繼承ImagesPipelines的類,
但是運(yùn)行程序后無法執(zhí)行自定義的pipelines。item無法傳遞

以下是自定義的pipelines

class Douyu3Pipeline(ImagesPipeline):
    # def process_item(self, item, spider):
    #     return item

    IMAGES_STORE = get_project_settings().get("IMAGE_STORE")

    def get_media_requests(self, item, info):
        print("1---------------------------1")
        image_url = item["imagelink"]
        yield scrapy.Request(image_url)

    def item_completed(self, results, item, info):
        image_path = [x["path"] for ok, x in results if ok]
        os.rename(self.IMAGES_STORE + "/" + image_path[0],
                  self.IMAGES_STORE + "/" + item["nickname"] + ".jpg")
        item['imagePath'] = self.IMAGES_STORE + '/' + item['nickname']
        return item

settings 文件設(shè)置如下:

BOT_NAME = 'douyu3'

SPIDER_MODULES = ['douyu3.spiders']
NEWSPIDER_MODULE = 'douyu3.spiders'


ROBOTSTXT_OBEY = True


# Override the default request headers:
DEFAULT_REQUEST_HEADERS = {
    'User-Agent': 'DYZB/1 CFNetwork/808.2.16 Darwin/16.3.0',
}


ITEM_PIPELINES = {
   'douyu3.pipelines.Douyu3Pipeline': 300,
}

IMAGE_STORE = "/Users/enritami/desktop/SearchEngineer/douyu3/Images"

打印異常如下:
圖片描述

異常是:Enable item pipelines:[] 自定義的pipelines無法添加進(jìn)pipe列表

回答
編輯回答
糖豆豆

你是不是沒有import

2017年2月14日 10:04
編輯回答
尐飯團(tuán)

已經(jīng)解決了,如果要繼承ImagesPipeline ,settings文件中的IMAGE_STORE 必須寫成IMAGES_STORE

2017年11月19日 19:58