Al utilizar scrapy arrastrándose fotos hoy y ha encontrado este error:
raise ValueError('Missing scheme in request url: %s' % self._url)
ValueError: Missing scheme in request url: //images2015.cnblogs.com/news_topic/20161020185521154-1185360701.png
Obviamente, Scrapy en la tubería en el proceso de descarga de la imagen, no reconoce la dirección URL de destino.
web para //
apuntar el enlace al principio de "acuerdo relativo", que se encuentra frente a la eliminación de la http: o https: las palabras, los beneficios de hacerlo es un explorador de archivos se pueden cargar automáticamente en CDN alojamiento de su sitio de acuerdo con el protocolo utilizado .
Arrastrándose archivos vinculados durante la expresión se debe cambiar el protocolo correcto URL relativa por metas positivas
Antes de la modificación:
front_image = response.meta.get("front_image_url", "")
article_item["front_image_url"] = [front_image] # pipeline下载图片一定要传list
modificado:
import re
front_image = response.meta.get("front_image_url", "")
if re.match("^(//).*", front_image):
front_image = "https:" + front_image
article_item["front_image_url"] = [front_image] # pipeline下载图片一定要传list