Python TypeError:请求url必须是str或unicode,获取列表:

Python TypeError:请求url必须是str或unicode,获取列表:,python,web,scrapy,Python,Web,Scrapy,我试图提取并保存图像,但每次运行spider时都会出现此错误,我在items.py中定义了以下函数 import scrapy from ..items import HamrobazarItem class CarsSpider(scrapy.Spider): name = 'cars' start_urls = ['https://hamrobazaar.com/c48-automobiles-cars'] def parse(self, response

我试图提取并保存图像,但每次运行spider时都会出现此错误,我在items.py中定义了以下函数

import scrapy   
from ..items import HamrobazarItem


class CarsSpider(scrapy.Spider):
    name = 'cars'
    start_urls = ['https://hamrobazaar.com/c48-automobiles-cars']

    def parse(self, response):
        items= HamrobazarItem()
        img_urls=list()
        img_urls.append(response.css('center img::attr(src)').extract())
        items['image_urls']=img_urls

        yield items

我无法运行您的爬行器,但问题似乎是生成列表列表
response.css('center img::attr(src)')。extract()
是一个列表和
img\u URL。append(response.css('center img::attr(src)')。extract()
是一个列表列表,因此将其更改为
img\u URL=response.css('center img::attr(src)')。extract()
可能会解决您的问题。

代码片段似乎格式错误。我从来没有用过scrapy,你确定在
中生产商品吗?它会生成列表,而不是列表中的项目,也许这是一个错误?我也使用了return。但是我在这里看不到它的作用,
parse()
不应该返回URL列表(要解析),而是要产生
Request
对象:
产生scrapy.Request(下一页,callback=self.parse)
最初在settings.py文件中有ROBOTSTXT_-OBEY=True,我将其修改为ROBOTSTXT_-OBEY=False,这对meAre有效您是否能够获得图像但无法存储它?
import scrapy

class HamrobazarItem(scrapy.Item):
    images=scrapy.Field()
    image_urls=scrapy.Field()
    pass