0
私はscrapyを使用して一連のWebページをクロールしたいと思います。しかし、jsonファイルに値を書き込もうとすると、これらのフィールドは表示されません。Scrapy JSON出力 - 空の値
import scrapy
class LLPubs (scrapy.Spider):
name = "linlinks"
start_urls = [
'http://www.linnaeuslink.org/records/record/1',
'http://www.linnaeuslink.org/records/record/2',
]
def parse(self, response):
for container in response.css('div.item'):
yield {
'text': container.css('div.field.soulsbyNo .value span::text').extract(),
'uniformtitle': container.css('div.field.uniformTitle .value span::text').extract(),
'title': container.css('div.field.title .value span::text').extract(),
'opac': container.css('div.field.localControlNo .value span::text').extract(),
'url': container.css('div#digitalLinks li a').extract(),
'partner': container.css('div.logoContainer img:first-child').xpath('@src').extract(),
}
そして、私の出力の例:私は愚かと修正が容易な何かをやっている期待しています
{
"text": ["Soulsby no. 46(1)"],
"uniformtitle": ["Systema naturae"],
"title": ["Caroli Linn\u00e6i ... Systema natur\u00e6\nin quo natur\u00e6 regna tria, secundum classes, ordines, genera, species, systematice proponuntur."],
"opac": ["002178079"],
"url": [],
"partner": []
},
は、ここに私のコードです!私は、「URL」と「パートナー」のために使用していたパスのどちらも、ここから作業していた。
scrapy shell 'http://www.linnaeuslink.org/records/record/1'
だから、私はちょうど私が行方不明ですか分かりません。
ああ、今のところ、このコマンドを使用してJSONにエクスポート:あなたの助けのための
scrapy crawl linlinks -o quotes.json
ありがとう!
それはそれでした!どうもありがとうございます。私はそれをどのようにターゲットにするかを理解しようとしていましたが、より高いレベルのセレクタを使用しなければならないということは意味があります。 – Edgar