ich möchte mit Hilfe von Python eine Serie von Dateien (etwa 4000) herunterladen. Die URL für die erste dieser Dateien lautet: "http://50.7.85.162/video/dKUnnPlCvapkvG ... 4710835.ts". Für alle folgenden Dateien erhöht sich der Zahlenwert im Dateinamen um jeweils 1. Die URL für die zweite Datei wäre deshalb "http://50.7.85.162/video/dKUnnPlCvapkvG ... 4710836.ts" und die der dritten "http://50.7.85.162/video/dKUnnPlCvapkvG ... 4710837.ts"
Ich bin in Punkto Programmieren zwar nicht gänzlich unerfahren, mit Python beschäftige ich mich allerdings erst seit einigen Wochen. Nun sollte man gleich nach ein paar Wochen Python-Erfahrung sich nicht unbedingt würde.
Ich habe zwar schon einige kleinere Programme geschrieben, aber ein solches ist wohl noch einige Hausnummern zu groß für mich. Daher habe ich mich nach einem Beispielprogramm umgesehen und dieses gefunden:
Code: Alles auswählen
#!/usr/bin/env python2.7
# -*- coding: iso-8859-1 -*-
import urllib2
import os
url = "http://50.7.85.162/video/dKUnnPlCvapkvGuuTMcKGg/2/media_144710835.ts"
file_name = 'C:/Users/User/Downloads/Medien' + url.split('/')[-1]
u = urllib2.urlopen(url)
f = open(file_name, 'wb')
meta = u.info()
file_size = int(meta.getheaders("Content-Length")[0])
print "Downloading: %s Bytes: %s" % (file_name, file_size)
os.system('cls')
file_size_dl = 0
block_sz = 8192
while True:
buffer = u.read(block_sz)
if not buffer:
break
file_size_dl += len(buffer)
f.write(buffer)
status = r"%10d [%3.2f%%]" % (file_size_dl, file_size_dl * 100. / file_size)
status = status + chr(8)*(len(status)+1)
print status,
f.close()
Es soll mir eine Datei der Serie herunterladen. Wenn das klappen würde, schaffe ich den Rest, also den Download aller Dateien, mit Sicherheit auch ohne fremde Hilfe.
Leider komme ich, oder besser gesagt das Programm, nur bis zum Aufruf von urllib2.urlopen(url) in Zeile 10. Als Fehlermeldung bekomme ich:
Code: Alles auswählen
Traceback (most recent call last):
File "D:\Divers\Python\PyProjekte\download\src\download.py", line 66, in <module>
u = urllib2.urlopen(url)
File "C:\Program Files\OpenOffice 4\program\python-core-2.7.6\lib\urllib2.py", line 127, in urlopen
return _opener.open(url, data, timeout)
File "C:\Program Files\OpenOffice 4\program\python-core-2.7.6\lib\urllib2.py", line 410, in open
response = meth(req, response)
File "C:\Program Files\OpenOffice 4\program\python-core-2.7.6\lib\urllib2.py", line 523, in http_response
'http', request, response, code, msg, hdrs)
File "C:\Program Files\OpenOffice 4\program\python-core-2.7.6\lib\urllib2.py", line 448, in error
return self._call_chain(*args)
File "C:\Program Files\OpenOffice 4\program\python-core-2.7.6\lib\urllib2.py", line 382, in _call_chain
result = func(*args)
File "C:\Program Files\OpenOffice 4\program\python-core-2.7.6\lib\urllib2.py", line 531, in http_error_default
raise HTTPError(req.get_full_url(), code, msg, hdrs, fp)
urllib2.HTTPError: HTTP Error 404: Not Found
Damit ist es also bei mir schon aus. Kann mir jemand hier unter die Arme greifen und mir sagen, was hier falsch sein könnte und vielleicht auch, was ich tun muss, um mein Ziel zu erreichen.
MfG, kodela