Kann mir bitte jemand das erklären?
In meiner Spinne habe ich Code zum Extrahieren von Daten mit XPath.Warum in Scrapy scrapped Text ist als String in Spider, aber als Liste in der Pipeline?
price_euro = add.xpath('.//strong[@class="price price--eur"]/text()').extract_first()
print 'price_euro', price_euro, type(price_euro)
und was ich bekommen ist:
price_euro 25.500 <type 'unicode'>
und ich verstehe das, ich habe es als String (Unicode), weil ich verwendet habe .extract_first() und das ist, was ich will.
Aber in meiner Pipeline,
print "item['price_euro']", item['price_euro'], type(item['price_euro'])
Ich habe es als eine Liste
item['price_euro'] [u'25.500 '] <type 'list'>
für mich nicht das große Problem Dies ist, aber es ist ärgerlich, weil jedes Mal, wenn ich zugreifen möchten Ich muss am Ende [0] hinzufügen. z.B. item ['price_euro'] [0]
Kann ich das deaktivieren und sollte ich?
Was ist die Logik dahinter?
Danke
Wie ich price_euro
l = ItemLoader(item=MyItem(), response=response)
l.add_value('price_euro', price_euro)
yield l.load_item()
wo weisen Sie dem Artikel den Preis zu? Wie sieht der gesamte Artikel aus, wenn er gedruckt wird? –
@omu_negru Ich habe einen Code zur Frage hinzugefügt. – WebOrCode