2015-04-01 4 views
9

The official tutorial specifica il modo su come chiamare Scrapy all'interno di script pythonScrapy - Quando si chiama Scrapy dallo script, come restituire un dizionario per il processo subito, invece di esportare in un file JSON

Cambiando gli attributi seguente impostazione :

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

Sono in grado di memorizzare i dati raschiati in un file JSON.

Tuttavia, sto cercando di elaborare e restituire immediatamente i dati raschiati all'interno della funzione definita. Quindi, altre funzioni possono chiamare questa funzione wrapper per eliminare alcuni siti Web.

Immagino ci siano alcune impostazioni che posso riprodurre con FEED_URI, ma non ne sono sicuro. Qualsiasi consiglio sarà apprezzato profondamente!

+2

Creare una pipeline? Vedi [questa risposta] (http://stackoverflow.com/a/27744766/771848) (tutorial non ufficiale). – alecxe

risposta

2

Le esportazioni di feed hanno lo scopo di serializzare i dati scaricati (vedere feed export documentation). Quello che stai cercando di fare non riguarda la serializzazione.

Quello che si vuole invece è creare un pipeline. Scrapy passerà alla pipeline raschiata Items. Sono dizionari e puoi fare tutto ciò che vuoi con loro.

Problemi correlati