Downloading files using urllib in a for loop?
Martin Franklin
mfranklin1 at gatwick.westerngeco.slb.com
Wed Feb 15 05:49:56 EST 2006
Martin Franklin wrote:
> justsee at gmail.com wrote:
>> Hi,
>> I'm using Python 2.3 on Windows for the first time, and am doing
>> something wrong in using urllib to retrieve images from urls embedded
>> in a csv file. If I explicitly specify a url and image name it works
>> fine(commented example in the code), but if I pass in variables in this
>> for loop it throws errors:
>>
>> --- The script:
>>
>> import csv, urllib
>> reader = csv.reader(open("source.csv"))
>> for x,y,z,imagepath in reader
I just noticed the code you sent will not work... notice the lack of a
colon ( : ) and the end of the 'for' line....
please post an exact copy of your code and also the results with the
included print debugging line (with or without repr ;) )
Cheers
Martin
>> theurl = imagepath[:55]
>> theimage = imagepath[55:-8]
>
> "No such file or directory: ''" sounds to me like you are trying
> to open a file called '' (empty string)
>
> try adding some debugging
>
> print theimage, imagepath
>
>
>
>> urllib.urlretrieve(theurl, theimage)
>> #urllib.urlretrieve("http://someurl/image.gif", "image.gif") # works!
>>
>> --- The errors:
>>
>> This throws the following errors:
>> File "getimages.py", line 9, in ?
>> urllib.urlretrieve(theurl,theimage)
>> File "C:\Python23\lib\urllib.py", line 83, in urlretrieve
>> return _urlopener.retrieve(url, filename, reporthook, data)
>> File "C:\Python23\lib\urllib.py", line 213, in retrieve
>> fp = self.open(url, data)
>> File "C:\Python23\lib\urllib.py", line 181, in open
>> return getattr(self, name)(url)
>> File "C:\Python23\lib\urllib.py", line 410, in open_file
>> return self.open_local_file(url)
>> File "C:\Python23\lib\urllib.py", line 420, in open_local_file
>> raise IOError(e.errno, e.strerror, e.filename)
>> IOError: [Errno 2] No such file or directory: ''
>>
>> ---
>>
>> Would really appreciate some pointers on the right way to loop through
>> and retrieve images, as I've tried various other solutions but am
>> clearly missing something simple!
>>
>> Thanks,
>>
>> justin.
>>
>
More information about the Python-list
mailing list