0
내 json 출력이 더 깨끗해 지도록 치료를 사용할 때 값 집합을 결합하는 방법에 대한 질문이 있습니다. 다음은 내가 가지고있는 것입니다.결합 문자열 Scrapy python
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"은 내가 문제가있는 곳입니다. 이런 식으로 "가입"을 사용할 수는 없지만 무엇을 수정해야할지 모르겠습니다. 여기에 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"을 사용하지 않습니다.
아 할 것입니다 쓰기! 정말 고마워. – Edgar