Image scrapy不支持响应类型图像/jpeg

Image scrapy不支持响应类型图像/jpeg,image,scrapy,response,Image,Scrapy,Response,我正在尝试使用scrapy拥有的默认ImagePipeline从站点上刮取图像。然而,我遇到了这个错误 Traceback (most recent call last): File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/scrapy/middleware.py", line 62, in _process_chain return process_chai

我正在尝试使用scrapy拥有的默认ImagePipeline从站点上刮取图像。然而,我遇到了这个错误

    Traceback (most recent call last):
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/scrapy/middleware.py", line 62, in _process_chain
    return process_chain(self.methods[methodname], obj, *args)
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/scrapy/utils/defer.py", line 65, in process_chain
    d.callback(input)
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/twisted/internet/defer.py", line 383, in callback
    self._startRunCallbacks(result)
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/twisted/internet/defer.py", line 491, in _startRunCallbacks
    self._runCallbacks()
--- <exception caught here> ---
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/twisted/internet/defer.py", line 578, in _runCallbacks
    current.result = callback(current.result, *args, **kw)
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/scrapy/contrib/pipeline/media.py", line 40, in process_item
    requests = arg_to_iter(self.get_media_requests(item, info))
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/scrapy/contrib/pipeline/images.py", line 104, in get_media_requests
    return [Request(x) for x in item.get(self.IMAGES_URLS_FIELD, [])]
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/scrapy/http/request/__init__.py", line 26, in __init__
    self._set_url(url)
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/scrapy/http/request/__init__.py", line 57, in _set_url
    self._set_url(url.encode(self.encoding))
  File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/scrapy/http/request/__init__.py", line 61, in _set_url
    raise ValueError('Missing scheme in request url: %s' % self._url)
exceptions.ValueError: Missing scheme in request url: h
我的设置:

# -*- coding: utf-8 -*-

# Scrapy settings for extrapetite project
#
# For simplicity, this file contains only the most important settings by
# default. All the other settings are documented here:
#
#     http://doc.scrapy.org/en/latest/topics/settings.html
#

BOT_NAME = 'extrapetite'

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

FEED_URI = 'logs/%(time)s.csv'
FEED_FORMAT = 'csv'

ITEM_PIPELINES = {
    'scrapy.contrib.pipeline.images.ImagesPipeline': 1
}

IMAGES_STORE = '/Users/crescal/compsci/ggslh/extrapetite/images/'
IMAGES_EXPIRES = 90


# Crawl responsibly by identifying yourself (and your website) on the user-agent
#USER_AGENT = 'extrapetite (+http://www.yourdomain.com)'
如果不启用ImagePipeline,我就可以对站点进行爬网并获取图像url、url和描述

另外,当我尝试使用 粗糙视图

我得到这个错误

    2015-05-08 13:31:37+0800 [default] DEBUG: Crawled (200) <GET https://farm9.staticflickr.com/8802/16977938339_20f05dc232_o.jpg> (referer: None)
2015-05-08 13:31:37+0800 [default] ERROR: Spider error processing <GET https://farm9.staticflickr.com/8802/16977938339_20f05dc232_o.jpg>
    Traceback (most recent call last):
      File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/twisted/internet/base.py", line 1201, in mainLoop
        self.runUntilCurrent()
      File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/twisted/internet/base.py", line 824, in runUntilCurrent
        call.func(*call.args, **call.kw)
      File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/twisted/internet/defer.py", line 383, in callback
        self._startRunCallbacks(result)
      File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/twisted/internet/defer.py", line 491, in _startRunCallbacks
        self._runCallbacks()
    --- <exception caught here> ---
      File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/twisted/internet/defer.py", line 578, in _runCallbacks
        current.result = callback(current.result, *args, **kw)
      File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/scrapy/commands/fetch.py", line 47, in <lambda>
        cb = lambda x: self._print_response(x, opts)
      File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/scrapy/commands/view.py", line 20, in _print_response
        open_in_browser(response)
      File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/scrapy/utils/response.py", line 86, in open_in_browser
        response.__class__.__name__)
    exceptions.TypeError: Unsupported response type: Response   
2015-05-08 13:31:37+0800[默认]调试:爬网(200)(参考:无)
2015-05-08 13:31:37+0800[默认值]错误:爬行器错误处理
回溯(最近一次呼叫最后一次):
mainLoop中的文件“/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site packages/twisted/internet/base.py”,第1201行
self.rununtlcurrent()
rununtlcurrent中的文件“/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site packages/twisted/internet/base.py”,第824行
call.func(*call.args,**call.kw)
回调中的文件“/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site packages/twisted/internet/defer.py”,第383行
自启动返回(结果)
文件“/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site packages/twisted/internet/defer.py”,第491行,在startRunCallbacks中
self.\u runCallbacks()
---  ---
文件“/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site packages/twisted/internet/defer.py”,第578行,在runCallbacks中
current.result=回调(current.result,*args,**kw)
文件“/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site packages/scrapy/commands/fetch.py”,第47行,在
cb=lambda x:self.\u打印\u响应(x,选项)
文件“/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site packages/scrapy/commands/view.py”,第20行,在打印响应中
在浏览器中打开(响应)
文件“/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site packages/scrapy/utils/response.py”,第86行,在浏览器中打开
回答。uuuu类uuu。uuuu名称uuu)
exceptions.TypeError:不支持的响应类型:响应

url的内容类型是image/jpeg,为什么我无法查看此内容

响应是二进制数据
scrapy
仅在响应为html或txt时显示响应(因为二进制数据在终端中通常不太有用)。另见

您的第一条错误消息是什么

Missing scheme in request url: h
结果,因为您将URL传递到image_URL字段。您需要传递一个URL列表——即使它只是一个URL。虽然
extract()
已经生成了一个列表,但您可以通过删除该行末尾的
[0]
来修复此问题

Missing scheme in request url: h