#coding=utf-8 import urllib, urllib2, re, argparse, os, sys # Ce tool permet d'aspirer l'intégralité d'un répertoire sur un site, plus ou moins rapidement, je l'avais codé pour aspirer le repo de hackbbs, mais il peut être adapté selon vos besoins. # Il peut également aspirer un répertoire ne contenant pas d'index par exemple, il fonctionne de façon récursive et stock les fichiers en respectant la structure du site. def scan(path): print 'Debut scan ' + path dossier = 0 requete = urllib2.Request(path) page = urllib2.urlopen(requete).read() variable = re.findall('\<a href="(.+?)"', page) for i in variable: if i[0] != '/': try: urllib.urlretrieve(path+i, i) print 'Telechargement de : ' + i except IOError as (strerr, strer): if strer == 'Is a directory': dossier+=1 print path + i try: os.mkdir(i) except: print 'Existe deja' os.chdir(i) scan(path + i) os.chdir('../') if dossier == 0: return if __name__ == "__main__": parser = argparse.ArgumentParser(description='Aspirer un dossier') parser.add_argument('url', action="store", help="URL a aspirer") args = parser.parse_args() arguments = dict(args._get_kwargs()) scan(arguments['url'])
ex0ns