piątek, grudnia 14, 2012

Python z urllib = najlepszy menadżer pobierania ;-)

I po co komu menadżery pobierania?

Zapragnąłem posiąść wszystkie transkrypty Buffy.
Znalazłem stronę i teraz powstał problem jak je pobrać....
Okazało się, że autorzy strony byli tak mili, że umieścili wszystkie scenariusze w plikach o nazwie w formacie numer_trans.html, gdzie numer to liczba od 001 do 144 (tyle ile jest odcinków).
No to stworzyłem sobie swojego "menadżera" pobierania:
import urllib
import time
import sys

def lz(s):
while len(s)<3:
s = "0"+s
return s

for r in range(1,145):
success = False
while not success:
try:
rs = lz(str(r))
name = "http://www.buffyworld.com/buffy/transcripts/"+rs+"_tran.html"
print rs
a = urllib.urlopen(name)
f = open(rs+"_tran.html","w")
f.write(a.read())
f.close()
success = True
except:
print "Unexpected error:", sys.exc_info()[0]
time.sleep(20)

Chociaż GetRight też miał swoje plusy.....

I teraz się pobierają.

Jak widać w razie coś się nie uda to będziemy próbowali za 20 sekund.... Na razie jestem na 72 scenariuszu i kilka razy się nie powiodło ;-)


Podobne postybeta
Python for Android vs. AppInventor - 2:0 ;-)
Komórka - w końcu to taki mały komputerek ;-)
Python zabójca ;-) czyli krótka opowieść o tym jak multiprocess "zabił" komputer ;-)
SSD a programowanie
Dodawaj automagicznie tagi do swoich postów w Pocket :-)