2016-04-10 5 views
0

Ich schreibe einen Scraper, um eine CSV zu öffnen, eine Liste von Links zu erhalten, ein bestimmtes HTML - Tag auf der Site zu extrahieren () und speichern Sie den Inhalt in einer TXT-Datei, benannt nach dem Tag, an dem die Rede gehalten wurde.Kann keine Textdatei erstellen - IOError: [Errno 2] Keine solche Datei oder kein Verzeichnis:

ist hier war ich erreicht:

#encoding:utf-8 
import csv 
import urllib 
import lxml.html 
import unicodedata 

objeto = csv.reader(open('links.csv', 'rU'), dialect=csv.excel_tab) 

for link in objeto: 
    connection = urllib.urlopen(link[0]) 
    dom = lxml.html.fromstring(connection.read()) 
    discurso = [] 
    for d in dom.xpath('//div[@id="content-core"]/div/p/text()'): 
     discurso.append(d) 
    d1 = " ".join(discurso) 
    data = dom.xpath('//span[@class="documentPublished"]/text()[normalize-space()]') 
    data1 = [date.strip() for date in data] 
    make_string = "-".join(data1) 
    file = open(make_string+'.txt', 'w') 
    file= arquivo.write(d1) 
    file.close() 

ich in der Lage war, das Datum und die Sprache zu extrahieren, aber der letzte Schritt nicht funktioniert. Beim Versuch, die Rede eines in TXT-Datei zu speichern, zeigt die IDLE mir die Nachricht

IOError: [Errno 2] No such file or directory: '17/12/2010 23h39,.txt'

Ich habe versucht, mit ‚w‘ und ‚a‘ beim Erstellen der Datei, aber es ist fehlgeschlagen. Was mache ich falsch?

+0

Dies wurde unzählige Male gefragt. Überprüfen Sie die entsprechende Spalte rechts von Ihrer Frage und Sie finden [diese] (https://stackoverflow.com/questions/29493444/ioerror-errno-2-no-such-file-or-directory-python?rq = 1), [this] (https://stackoverflow.com/questions/18067799/ioerror-errno-2-no-such-file-or-directory?rq=1), [this] (https: // stackoverflow com/questions/19819099/virtualenv-cant-create-virtualenv-ioerror-errno-2-nicht-so-Datei-oder-Direktor? Rq = 1), usw. Übliche Probleme: relative vs. absolute Pfade, fehlende Anführungszeichen, fehlende Escape-Zeichen, Vorwärts/umgekehrte Schrägstriche, Leerzeichen in Dateinamen. – jDo

+0

@jDo nein, keine dieser Fragen bezieht sich auf das OP-Problem, noch sind absolute Pfade. Beachten Sie, dass der Code in eine Datei schreibt, daher muss er nicht vorher existieren. Das Problem sind die Schrägstriche, die Verzeichnisse angeben. –

Antwort

2

Das Problem ist, dass es erwartet, ein Verzeichnis 17 und ein Unterverzeichnis 12 darunter zu finden, weil / wird verwendet, um Verzeichnisse zu bezeichnen. Ich schlage vor, alle / Zeichen durch - zu ersetzen.

Verwandte Themen