Próbuję zrobić program, który otworzy katalog, a następnie użyć wyrażeń regularnych, aby uzyskać nazwy Powerpoints, a następnie utworzyć pliki lokalnie i skopiować ich zawartość. Kiedy uruchomię to, wygląda na to, że działa, ale kiedy faktycznie próbuję otworzyć pliki, ciągle mówią, że wersja jest zła.Python urllib pobieranie zawartości katalogu online
from urllib.request import urlopen
import re
urlpath = urlopen('http://www.divms.uiowa.edu/~jni/courses/ProgrammignInCobol/presentation/')
string = urlpath.read().decode('utf-8')
pattern = re.compile('ch[0-9]*.ppt') #the pattern actually creates duplicates in the list
filelist = pattern.findall(string)
print(filelist)
for filename in filelist:
remotefile = urlopen('http://www.divms.uiowa.edu/~jni/courses/ProgrammignInCobol/presentation/' + filename)
localfile = open(filename,'wb')
localfile.write(remotefile.read())
localfile.close()
remotefile.close()
Powinieneś ** nigdy ** parsować HTML za pomocą RegEx, zobacz http://stackoverflow.com/a/1732454/851737. Użyj biblioteki parsowania HTML, np. Lxml lub BeautifulSoup. – schlamar
BeautifulSoup to jest. Dziękuję za twoją rekomendację. – davelupt