Bonjour,
J'ai trouvé comment écrire un petit script pour lister les fichiers présents sur une page web. Lorsque je veux les télécharger, j'ai un problème d'autorisation. Voici mon code :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#! /usr/bin/env python
#-*- coding: utf-8 -*-
 
import urllib,urllib2, re
 
from BeautifulSoup import BeautifulSoup
 
url="http:/site.com/"
 
f = urllib2.urlopen(url)
soup = BeautifulSoup(f)
print soup
for link in soup.findAll('a'):
	url_fich=str(url)+str(link.get('href'))
	nom_fich=str(link.get('href'))
	print nom_fich
	print url_fich
	print link.get('href')
	urllib.urlretrieve(url_fich,r'/home/'+nom_fich)
La dernière ligne me donne un message d'erreur. Je soupçonne un problème de droit en écriture mais je n'en suis pas sûr. Quelqu'un pourrait-il m'aider ? Voici le message :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
Traceback (most recent call last):
  File "aspirateur10.py", line 19, in <module>
    urllib.urlretrieve(url_fich,r'/home/'+nom_fich)
  File "/usr/lib/python2.7/urllib.py", line 94, in urlretrieve
    return _urlopener.retrieve(url, filename, reporthook, data)
  File "/usr/lib/python2.7/urllib.py", line 244, in retrieve
    tfp = open(filename, 'wb')
IOError: [Errno 21] Is a directory: '/home/../'
Merci d'avance...