scrapy item loader return Liste nicht einen einzigen Wert
Ich bin mit scrapy 0.20.
Ich möchte, um das Element zu verwenden loader
dies ist mein code:
l = XPathItemLoader(item=MyItemClass(), response=response)
l.add_value('url', response.url)
l.add_xpath('title',"my xpath")
l.add_xpath('developer', "my xpath")
return l.load_item()
Bekam ich das Ergebnis im json-Datei. die url
ist eine Liste. Die title
ist eine Liste. Die developer
ist eine Liste.
Gewusst wie: extrahieren von einzelnen Wert statt der Liste?
Sollte ich ein Element "pipeline"? Ich hoffe, es ist ein schneller Weg,
Du musst angemeldet sein, um einen Kommentar abzugeben.
Müssen Sie eine Input-oder Output-Prozessor.
TakeFirst
perfekt funktionieren würde in Ihrem Fall.Es gibt mehrere Orte, wo Sie es definieren können, z.B. in der
Item
definition:Oder, eine
default_output_processor
auf eineXpathItemLoader()
Beispiel:null
als Wert-leer-Attribut. Zum Beispiel, einige Seiten haben nicht dietitle
Attribut, das ich nichtnul
aber bevor ich nur wurde immer""
Declaring Input and Output Processors
erklärt, die Priorität der input-und output-Prozessoren.Item
Klasse Felder können wiederverwendet werden, indem mehrere Lader, und welche loader seine eigene Art und Weise zu präsentieren, die gecrawlten Daten. Ich würde definieren Sie den Prozessor auf den loader, anstatt auf die Artikel-Felder in Ihrem Fall.Join
stattTakeFirst
, aber stellen Sie sicher, dass es nur einen einzigen Wert in einer Liste.