Hallo Maser,
ich habe noch Änderungen vorgenommen. Damit muss das Zielverzeichnis nur noch an einer Stelle, gleich nach dem MRL eingetragen werden und in der Konsole von Python werden die laufenden Downloads angezeigt. Jetzt sieht man auch, wo der Download gerade ist.
Außerdem ist es zumindest unter Windows möglich, einer py-Datei Python als die Datei zuzuweisen, mit der sie geöffnet werden kann. Die Batchdatei zum Öffnen wird so überflüssig. Es genügt ein Doppelklick auf die py-Datei.
Die überarbeitete Version füge ich als Anhang bei. Wie immer muss die txt-Erweiterung entfernt werden.
Hier ist sie noch in der Ansicht:
#!/usr/bin/env python2.7
# -*- coding: iso-8859-1 -*-
import urllib2
url = 'http://50.7.85.162/video/dKUnnPlCvapkvGuuTMcKGg/2/media_144710835.ts'
dst_folder = 'D:/VLC/Aufnahmen/'
m = url.index('_')+1
n = url[m:].index('.')
url_fix = url[0:m]
file_praefix = url_fix.split('/')[-1]
file_nummer = int(url[m:m+n])
file_ext = url[n+m:]
file_name = dst_folder + file_praefix + str(file_nummer) + file_ext
request = urllib2.Request(url, headers={'user-agent': 'Mozilla/5.0'})
url_open = urllib2.urlopen(request)
file_open = open(file_name, 'wb')
print 'Downloading: %s' % (file_praefix + str(file_nummer) + file_ext)
block_sz = 32 * 1024
while True:
while True:
buffer = url_open.read(block_sz)
if not buffer:
break
file_open.write(buffer)
file_nummer += 1
url = url_fix + str(file_nummer) + file_ext
request = urllib2.Request(url, headers={'user-agent': 'Mozilla/5.0'})
url_open = urllib2.urlopen(request)
print 'Add:', file_praefix + str(file_nummer) + file_ext
file_open.close()
Alles anzeigen
Dass das Skript mit Strg+C abgebrochen werden kann, habe ich in einem früheren Beitrag schon erwähnt. Die Aufzeichnung kann aber auch über die Pause-Taste unterbrochen und mit der Esc-Taste wieder fortgesetzt werden.
Dieses Programm kann als Skript mit jedem Texteditor bearbeitet und den eigenen Vorstellungen angepasst werden. Wichtig ist allerdings, dass unter Python Einrückungen nicht nur optisch wirken, über sie werden auch Blockstrukturen realisiert. In diesem Punkt unterscheidet sich Python von allen anderen mir bekannten Programmiersprachen. So gibt es zum Beispiel für Schleifen oder If-Konstrukte keine öffnenden und schließende Klammern. Solche Blöcke werden durch Einrückungen realisiert. Daher ist es sehr wichtig, bei einer Bearbeitung streng darauf zu achten, dass die durch Einrückungen vorgegebene Struktur nicht gestört wird.
MfG, kodela
Am 27.11.2015 17:33 von kodela Code aktualisiert (einschließlich Anhang)