我try except用来避免错误,但我的终端仍显示错误,但没有显示日志消息:
raise ValueError('Missing scheme in request url: %s' % self._url)
exceptions.ValueError: Missing scheme in request url:
Run Code Online (Sandbox Code Playgroud)
当scrapy没有得到image_urls时,如何避免此错误?
请指导我,非常感谢.
try:
item['image_urls'] = ["".join(image.extract()) ]
except:
log.msg("no image foung!. url={}".format(response.url),level=log.INFO)
Run Code Online (Sandbox Code Playgroud)
soo*_*oot 17
该image_urls字段应该是列表,而不是str.
item['image_urls'] = image.extract()
Run Code Online (Sandbox Code Playgroud)
如果你这样做,并且仍然提出异常,那么你所抓到的网址似乎是相对路径.
在ImagePipeline不知道你的主机,所以它不能产生抓取的绝对路径.
import urlparse
item['image_urls'] = [ urlparse.urljoin(response.url, u) for u in image.extract() ]
Run Code Online (Sandbox Code Playgroud)