TypeError:请求url必须是str或unicode,得到列表:

时间:2019-12-03 10:08:17

标签: 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):
        items= HamrobazarItem()
        img_urls=list()
        img_urls.append(response.css('center img::attr(src)').extract())
        items['image_urls']=img_urls

        yield items
import scrapy

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

1 个答案:

答案 0 :(得分:1)

我无法运行您的蜘蛛,但问题似乎出在列表列表上。 response.css('center img::attr(src)').extract()是列表,而img_urls.append(response.css('center img::attr(src)').extract())是列表的列表,因此将其更改为img_urls = response.css('center img::attr(src)').extract()可能会解决您的问题。