2017-03-02 3 views
0

Ich schreibe ein Scrapy Spider. Es exportierte Daten in Datei, deren Name ich über die Befehlszeile übergab: E:\Anaconda3\envs\Blog2Doc\Lib\site-packages\scrapy\cmdline.py runspider blog2doc_scrapy\spiders\blog_spider.py -o ..\data\out.html. Wenn diese Datei bereits existiert, fügt dieser Spider nur Inhalt an die existierende Datei an. So prüfen Sie, ob die Ausgabedatei bereits existiert und wenn sie existiert - löschen Sie sie. Zum Exportieren in die Datei schreibe ich die Blog2DocExporter (BaseItemExporter) -Klasse. Es wird keine Ausgabedatei geöffnet, im Konstruktor wird das Dateiobjekt bereits geöffnet. In dieser Export-Klasse kann ich nicht überprüfen, ob die exportierte Datei bereits existiert.In Scrapy wie überprüft man, ob die exportierte Datei bereits existiert?

Antwort

0

Scrapy überschreiben die Ausgabedateien ist ein bekanntes offenes Problem. Siehe zum Beispiel:

Ich habe selbst ein Fix vorgeschlagen, Umbenennen von Dateien mit Inkrementieren Suffixe. Die Implementierung ist jedoch nicht abwärtskompatibel. Sie können dies nützlich dennoch finden: https://github.com/scrapy/scrapy/pull/2093

Es ändert sich die FileFeedStorage, aber man konnte etwas ähnliches und Blick auf this other answer implementieren solche individuellen Feed Speicherklasse zu verwenden.

Verwandte Themen