Scrapy将刮取的值返回到数组中

Edw*_*ard 2 python xhtml json scrapy

Scrapy似乎正在正确地提取数据,但是在我的JSON对象中格式化输出就好像它是一个数组:

[{"price": ["$34"], "link": ["/product/product..."], "name": ["productname"]},
{"price": ["$37"], "link": ["/product/product"]...
Run Code Online (Sandbox Code Playgroud)

我的蜘蛛类看起来像这样:

def parse(self, response):
    sel = Selector(response)
    items = sel.select('//div/ul[@class="product"]')
    skateboards = []
    for item in items:
        skateboard = SkateboardItem()
        skateboard['name'] = item.xpath('li[@class="desc"]//text()').extract()
        skateboard['price'] = item.xpath('li[@class="price"]"]//text()[1]').extract()
        skateboard['link'] = item.xpath('li[@class="image"]').extract()
        skateboards.append(skateboard)
    return skateboards
Run Code Online (Sandbox Code Playgroud)

我如何确保Scrapy只输出每个键的单个值,而不是它当前生成的数组?

Oma*_*hir 5

.extract()  
Run Code Online (Sandbox Code Playgroud)

始终返回您可以使用的列表

''.join(item.xpath('li[@class="desc"]//text()').extract())
Run Code Online (Sandbox Code Playgroud)

得到一个字符串