Dateien spezifisch nach der URL bennen

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
SimGeh
User
Beiträge: 15
Registriert: Mittwoch 4. Dezember 2013, 16:11

Hallo,

ich habe eine kurze Frage zu meinem script. Und zwar lade ich von diversen Seiten einzelne HTM-Dateien...

Code: Alles auswählen

http://www.bmi.bund.de/SharedDocs/Interviews/DE/2013/12/bm-saarbruecker-zeitung.html"
http://www.bmi.bund.de/SharedDocs/Interviews/DE/2013/10/bm_mmerkur.html"
http://www.bmi.bund.de/SharedDocs/Interviews/DE/2011/10/bm_rp.html"
...in folgenden Zielordner herunter.

Code: Alles auswählen

/user/daten/raw/
Das Problem auf das ich gestoßen bin ist, dass manche HTML-Dateien gleich benannt sind. Deshalb würde ich gerne den Dateinamen noch einen eindeutigen Zusatz hinzufügen. Dieser soll sich aus den zwei darüber gelgenen Verzeichnissen ergeben. Der erste Link würde dementsprechend wie folgt benannt sein:

Code: Alles auswählen

2013-12-bm-saarbruecker-zeitung.html
2013-10-bm_mmerkur.html
2011-10-bm_rp.html
Leider bin ich völlig planlos, wie ich den Link so bearbeiten kann, dass ich die Namen der Ordner auslesen und dementsprechend an den Dateinamen anhängen kann.
Wenn jemand ne Idee hat würde ich mich freuen...
Benutzeravatar
/me
User
Beiträge: 3556
Registriert: Donnerstag 25. Juni 2009, 14:40
Wohnort: Bonn

SimGeh hat geschrieben:Leider bin ich völlig planlos, wie ich den Link so bearbeiten kann, dass ich die Namen der Ordner auslesen und dementsprechend an den Dateinamen anhängen kann.
Man kann Bordmittel der Stringbearbeitung nehmen. Die Idee ist es, den String anhand der Slashes aufzuteilen, nur die letzten drei Elemente zu nehmen und die mit einem Minuszeichen als Trenner wieder zusammenzusetzen.

Code: Alles auswählen

>>> "http://www.bmi.bund.de/SharedDocs/Interviews/DE/2011/10/bm_rp.html".split('/')
['http:', '', 'www.bmi.bund.de', 'SharedDocs', 'Interviews', 'DE', '2011', '10', 'bm_rp.html']
>>> "http://www.bmi.bund.de/SharedDocs/Interviews/DE/2011/10/bm_rp.html".split('/')[-3:]
['2011', '10', 'bm_rp.html']
>>> '-'.join("http://www.bmi.bund.de/SharedDocs/Interviews/DE/2011/10/bm_rp.html".split('/')[-3:])
'2011-10-bm_rp.html'
SimGeh
User
Beiträge: 15
Registriert: Mittwoch 4. Dezember 2013, 16:11

Perfekt!
Genau das habe ich gesucht...

Vielen Dank für die prompte Hilfe!

Gruß,
SimGeh
Antworten