2015-04-01 2 views
9

The official tutorial gibt die Art und Weise, wie scrapy in Python-Skript nennenScrapy - Wenn scrapy von Skript aufrufen, wie ein Wörterbuch für den Prozess sofort zurückzukehren, statt den Export in JSON-Datei

Durch Ändern der folgenden Einstellungs Attribute :

settings.overrides['FEED_URI'] = output_path 
settings.overrides['FEED_FORMAT'] = 'json' 

Ich bin in der Lage, die Daten in einer JSON-Datei geschabt zu speichern.

Ich versuche jedoch, die Daten verarbeitet und zurückgegeben sofort innerhalb der Funktion, die ich definiert habe. Daher können andere Funktionen diese Wrapperfunktion aufrufen, um einige Websites zu verwerfen.

Ich denke, es gibt einige Einstellungen, die ich mit FEED_URI spielen kann, aber ich bin mir nicht sicher. Jeder Rat wird sehr geschätzt werden!

+2

Erstellen Sie eine Pipeline? Siehe [diese Antwort] (http://stackoverflow.com/a/27744766/771848) (inoffizielles Tutorial). – alecxe

Antwort

2

Feed-Exporte dienen dazu, die Daten, die Sie gescratet haben, zu serialisieren (siehe feed export documentation). Was Sie versuchen zu tun, beinhaltet keine Serialisierung.

Was Sie stattdessen tun möchten, ist ein pipeline erstellen. Scrapy wird abgekratzt Items an die Pipeline übergeben. Sie sind Wörterbücher, und Sie können mit ihnen machen, was Sie wollen.