Juger si l'URL acquise est un bus relatif ou un chemin absolu, et s'il s'agit d'un chemin relatif, ne faites pas le travail d'en faire un chemin absolu cette fois Veuillez noter que le chemin img est un programme créé à la condition que seul le chemin absolu soit utilisé sur le site que vous souhaitez acquérir, donc si vous essayez d'acquérir une image à partir d'un site utilisant un chemin relatif, une ERREUR se produira. ~~ Je vais écrire l'explication détaillée (?) Du code dans le blog lié ci-dessous. ~~ (Le blog a été publié) (Prévu à compter du 11 août 2014)
downloadImg.py
# -*- coding: utf-8 -*-
import urllib
import urllib2
import os.path
import sys
from HTMLParser import HTMLParser
def download(url):
img = urllib.urlopen(url)
localfile = open(os.path.basename(url),'wb')
localfile.write(img.read())
img.close()
localfile.close()
class imgParser(HTMLParser):
def __init__(self):
HTMLParser.__init__(self)
def handle_starttag(self,tagname,attribute):
if tagname.lower() == "img":
for i in attribute:
if i[0].lower() == "src":
img_url=i[1]
#Création d'un fichier qui recueille les URL des photos acquises
f = open("collection_url.txt","a")
f.write("%s\t"%img_url)
f.close()
if __name__ == "__main__":
print('Saisissez l'URL du site sur lequel vous souhaitez obtenir la photo.')
input_url = raw_input('>>> ')
serch_url = input_url
htmldata = urllib2.urlopen(serch_url)
print('Obtention actuelle de fichiers image...')
parser = imgParser()
parser.feed(htmldata.read())
parser.close()
htmldata.close()
#Lire le fichier généré
f = open("collection_url.txt","r")
for row in f:
row_url = row.split('\t')
len_url = len(row_url)
f.close()
number_url = []
for i in range(0,(len_url-1)):
number_url.append(row_url[i])
for j in range(0,(len_url-1)):
url = number_url[j]
download(url)
print('Le téléchargement de l'image est terminé.')
#Supprimer le fichier
os.remove("collection_url.txt")
Twitter :@fantmsite ~~ Blog: Fantm Site-BLOG ~~
Recommended Posts