gpt4 book ai didi

python - 合并字符串 Scrapy python

转载 作者:行者123 更新时间:2023-12-01 02:27:10 35 4
gpt4 key购买 nike

我有一个关于如何在使用 scrapy 时组合一组值以使我的 json 输出更干净的问题。这是我所拥有的:

import scrapy
from scrapy.contrib.loader import ItemLoader
from scrapy.contrib.loader.processor import TakeFirst, MapCompose, Join

class LLPubs (scrapy.Spider):
name = "linlinks"
start_urls = [
'http://www.linnaeuslink.org/records/record/1',
'http://www.linnaeuslink.org/records/record/2',
'http://www.linnaeuslink.org/records/record/2a',
'http://www.linnaeuslink.org/records/record/10',
]

def parse(self, response):
for item in response.css('div.item'):
yield {
'text': item.css('div.field.soulsbyNo .value span::text').extract(),
'uniformtitle': item.css('div.field.uniformTitle .value span::text').extract(),
'title': item.css('div.field.title .value span::text').extract(),
'opac': item.css('div.field.localControlNo .value span::text').extract(),
'digitalcopyurl': .join(response.css('div#digitalLinks li a').xpath('@href').extract()),
'name': response.css('div#digitalLinks li a span::text').extract(),
}

“digitalcopyurl”是我遇到问题的地方。我想我不能以这种方式使用“join”,但我不确定要修改什么。下面是 JSON 现在的样子:

{"text": ["Soulsby no. 46(1)"], 
"uniformtitle": ["Systema naturae"],
"title": ["Caroli Linnæi ... Systema naturæ\nin quo naturæ regna tria, secundum classes, ordines, genera, species, systematice proponuntur."],
"opac": ["002178079"],
"digitalcopyurl": ["http://books.google.co.uk/books?vid=BL:A0019621817", "http://books.google.co.uk/books?vid=BL:A0019621817", "", ""],
"name": ["View digital version at BL", "View digital version at BL", "View digital version at NHM-LONDON", "View digital version at UUL"]},

我希望“digitalcopyurl”看起来更像:

"digitalcopyurl": ["http://books.google.co.uk/books?vid=BL:A0019621817, http://books.google.co.uk/books?vid=BL:A0019621817"], 

(我想使用相同的解决方案对“名称”字段执行相同的操作。)

感谢您的帮助!

编辑:示例输出没有使用“.join”——它没有。

最佳答案

'digitalcopyurl': ", ".join(response.css('div#digitalLinks li a').xpath('@href').extract())

或者

'digitalcopyurl': ", ".join(a.strip() for a in response.css('div#digitalLinks li a').xpath('@href').extract())

两者都会做同样的事情

关于python - 合并字符串 Scrapy python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47269076/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com