2010-11-03 18 views
8

Ich habe Spinne, die ich mit dem Scrapy-Framework geschrieben habe. Ich habe Probleme, Pipelines zur Arbeit zu bringen. Ich habe den folgenden Code in meinem pipelines.py:Kann Scrapy-Pipeline nicht funktionieren

class FilePipeline(object): 

    def __init__(self): 
     self.file = open('items.txt', 'wb') 

    def process_item(self, item, spider): 
     line = item['title'] + '\n' 
     self.file.write(line) 
     return item 

und meine CrawlSpider Unterklasse hat diese Zeile die Pipeline für diese Klasse zu aktivieren.

ITEM_PIPELINES = [ 
     'event.pipelines.FilePipeline' 
    ] 

aber wenn ich laufe es

mit
scrapy crawl my_spider 

ich eine Linie, die

2010-11-03 20:24:06+0000 [scrapy] DEBUG: Enabled item pipelines: 

ohne Pipelines sagt (ich nehme an, dies ist, wo die Protokollierung ausgeben sollte ihnen).

Ich habe versucht, durch die Dokumentation zu suchen, aber es scheint keine vollständigen Beispiele für ein ganzes Projekt zu geben, um zu sehen, ob ich etwas verpasst habe.

Irgendwelche Vorschläge, was als nächstes zu versuchen? oder wo man nach weiterer Dokumentation suchen kann?

Antwort

8

Verstanden! Die Zeile muss im Einstellungsmodul für das Projekt angezeigt werden. Jetzt funktioniert es!

+0

Haben Sie diesen Projektcode in github gehostet? – Medeiros

+0

Nein, mein Klient hat es vielleicht irgendwo hingelegt, aber nicht mein Platz, um es zu öffnen, fürchte ich. –

+0

Ich musste ITEM_PIPELINES als Diktat anstelle einer Liste in der Einstellungsdatei verwenden –

0

Ich bin bereit zu wetten, dass es irgendwo in der Wort-Pipeline ein kapitalisierungs Unterschied ist:

Pipeline gegen PipeLine

Ich bemerke 'event.pipelines.FilePipeline' den ehemaligen verwendet, während Ihr Code verwendet die letztere: die Ihr tun Dateinamen verwenden?

(I Opfer haben viele Male auf diese Schreibfehler gefallen!)

+0

Vielen Dank für die Entdeckung, dass (ich kann es nicht glauben, ich habe es verpasst!), Aber es funktioniert immer noch nicht –

+0

Es ist immer noch meine Wette auf was falsch ist, überprüfen Sie! : P (wenn nicht, ich habe keine Ideen mehr ...) – James

+0

Ich werde noch einen Blick darauf werfen. Prost! –

Verwandte Themen