[Tutor] how to set time limit before downloading file
kulibin da-da!
kylibine at gmail.com
Thu Aug 24 20:56:08 CEST 2006
> > I had to download some files.
> >
> > Using the code below I could download almost all I had to download, but I
> > have a problem
> > :
> > r = urllib.urlopen(url)
> > :
> > And the problem is that the script sleeps for some hours. And thats
> > all - no data is read.
>
>
> is there a reason why you are using urlopen() instead of
> urlretrieve(url, localFile)? it will download the file for you so you
> don't have to do it chunks at a time. is it because you're working
> with an unreliable server where a timeout is required? otherwise yes,
> you will have to set a socket timeout to give up on a partial download
> if the other side is hanging.
I don't use urlretrieve because I have to get more info about all the
files I'm downloading (I need regular downloading of file so if I want
to check the changes in file (reading headers) and after analyzing
changes I'll decide do I have to download that file again or not).
And I need timeout because some of the pages I'am checking often are
inaccessible.
>
> you may also want to consider multithreading this application (using
> the threading module). if the individual downloads are not dependent
> on each other. I/O-bound applications are a great use case for Python
> MT and will help improve performance. it will allow for multiple
> "simultaneous" downloads in parallel and allow it to complete sooner.
Thanks for advice, multithreading will be in next version of my program :)
More information about the Tutor
mailing list