0
json出力がよりきれいになるように、scrapyを使用するときに値のセットを組み合わせる方法について質問があります。ここに私が持っているものがあります:文字列を組み合わせるScream 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