python - 从我正在使用图像管道的scrapy spider下载/抓取图像时,我遇到了一个值错误
问题描述
我得到一个值错误:
raise ValueError('Missing scheme in request url: %s' % self._url)
ValueError: Missing scheme in request url: h
我的 items.py 代码是:
class Brand(scrapy.Item):
name = scrapy.Field()
url = scrapy.Field()
brand_image = scrapy.Field()
image_urls = scrapy.Field()
images = scrapy.Field()
我的setting.py是:
BOT_NAME = 'scraper'
SPIDER_MODULES = ['scraper.spiders']
NEWSPIDER_MODULE = 'scraper.spiders'
ITEM_PIPELINES = {'scrapy.contrib.pipeline.images.ImagesPipeline': 1}
IMAGES_STORE = 'images'
我的蜘蛛代码:
import scrapy
import json
from scraper.items import Brand
class QuotesSpider(scrapy.Spider):
name = "brandDetails"
allowed_domains = ["ozhat-turkiye.com"]
with open('brands.json') as data_file:
data_item = json.load(data_file)
start_urls = list()
for item in data_item:
start_urls.append(item["url"])
def parse(self, response):
item = Brand()
name = response.css("div.th::text").extract_first()
name = name.replace('Products of ', '')
item['name'] = name
item['url'] = response.url
urls = response.css("div.productimage img::attr(src)").extract_first()
urls = response.urljoin(urls)
item['image_urls'] = urls
yield item
解决方案
Missing scheme in request url
总是意味着您的 URL 无效,它的丢失http://
和https://
因此,在您拥有的图片网址之前https://
或http://
之前
`https://` + response.css("div.productimage img::attr(src)").extract_first()
推荐阅读
- amazon-web-services - 使用 Apache Spark 和 AWS 从每日 CSV 文件生成每月数据
- cakephp - 使用前缀时从不同的模板进行 CakePHP 烘焙
- swift - 在父窗口的中心显示工作表
- javascript - 在javascript中从protobuf解码序列化数据
- java - 使用 IntelliJ 从 PropertiesLoader 加载的 Spring Boot 模块时出现 NoClassDefFoundError
- java - 将帧(android 中的 mat 数据)从 android 传递到本机 c++ 并检测人脸
- latex - 有没有办法减少乳胶中标题和副标题之间紧凑外观的上边距?
- spring - 方法级别的弹簧注释建议顺序
- pandas - 将分类数值数据编码到不同的列
- python-3.x - 将 3d 数据输入到 lstm