come posso accedere a un parametro variabile in classe spider da pipelines.py

ho 3 numero di file ragno e classi. e voglio salvare informazioni elemento al file csv che ha diverso nome del file convenuto il parametro variabile di condizione di ricerca. per questo, ho bisogno di accedere al parametro classe ragno.

quindi, le mie domande sono tre.

  1. come posso accedere al parametro della classe ragno?
  2. qual è il modo migliore per rendere ogni file csv? la condizione di trigger è che chiamerà richiesta alla funzione parse per nuovo risultato di ricerca.
  3. logger = logging.getLogger(__name__) non funziona in pipelines.py Come posso stampare queste informazioni?

bellow è il mio stile di codice di log

logger.log(logging.INFO,'\n======= %s ========\n', filename)

stavo cercando i modi in google tante volte. ma non riuscivo a trovare la soluzione.

ho provato ad usare dalla funzione _ crawler, ma non ho trovato il caso di adattamento

Scrapy 1.6.0
python 3.7.3
os window 7 / 32bit

codice:: codice:

class CensusGetitemSpider(scrapy.Spider): name = 'census_getitem' startmonth=1 filename = None def parse(self, response): for x in data: self.filename = str(startmonth+1) . . . yield item yield scrapy.Request(link, callback=self.parse)

EN From: how can I access a variable parameter at spider class from pipelines.py

More similar articles:

3 Comments

    1. è possibile accedere alla classe ragno e attributi istanza da pipeline.py utilizzando il parametro spider passato nella maggior parte dei metodi di pipeline.

    per esempio:

    open_spider(self, spider):
        self.filename = spider.name

    si può vedere di più su gasdotti voce qui https://docs.scrapy.org/en/latest/topics/item-pipeline.html

    1. si può salvare direttamente dalla riga di comando, basta definire un nome di file:

    scrapy crawl yourspider -o output.csv

    ma se si ha realmente bisogno di essere impostato dal ragno, è possibile utilizzare una impostazione personalizzata per ragno, per esempio:

     class YourSpider(scrapy.Spider):
        name = 'yourspider'
        start_urls = 'www.yoursite.com'
        custom_settings = {
            'FEED_URI':'output.csv',
            'FEED_FORMAT': 'csv',
        }
    1. utilizzare spider.logger.info('Your message')
    1. grazie mille per rispondere alla mia domanda. cercherò di farlo e condividere il risultato di questo stack.

      alla prima volta ho usato lo stile di comando. ma non è stato creato seguendo la sequenza di colonna. così ho provato a trovare il senso ed ho trovato che qualcuno ha risposto alla domanda circa la conduttura. se riesco a gestire la sequenza di colonne, spero di utilizzare l’opzione di output dei comandi. lo sai di questo?

Leave a Reply

Your email address will not be published. Required fields are marked *