Cette fois, il est décrit pour mon propre mémo. Si vous le trouvez utile, veuillez également l'utiliser.
Le code source utilisé cette fois est "TomoProg technical book" et "Redimensionner les images à la fois en utilisant Python, Pillow". (Comment agrandir / réduire) " a été utilisé comme référence. Veuillez consulter la page Web ci-dessus pour des explications plus détaillées.
Ensuite, je décrirai l'environnement que j'ai utilisé et l'impression que j'ai utilisée.
windows7 python 3.5 pycharm
import urllib.request
import bs4
#URL de la page Web que vous souhaitez obtenir
url = "https://www.google.co.jp/"
request = urllib.request.urlopen(url)
html = request.read()
#Créer une liste de codes de caractères
encoding_list = ["cp932", "utf-8", "utf_8", "euc_jp",
"euc_jis_2004", "euc_jisx0213", "shift_jis",
"shift_jis_2004", "shift_jisx0213", "iso2022jp",
"iso2022_jp_1", "iso2022_jp_2", "iso2022_jp_3",
"iso2022_jp_ext", "latin_1", "ascii"]
for enc in encoding_list:
try:
html.decode(enc)
break
except:
enc = None
resources = []
#Créer un objet BeautifulSoup
soup = bs4.BeautifulSoup(html)
#Récupère le contenu de l'attribut src dans toutes les balises img de html
for img_tag in soup.find_all("img"):
src_str = img_tag.get("src")
resources.append(src_str)
#Afficher le contenu de src
array_jpg = []
for resource in resources:
array_jpg.append(resource)
#Ouvrez l'URL du fichier image
#(Spécifiez l'URL du fichier image dans l'URL)
count = 0
for number in range(0, len(array_jpg)):
request = urllib.request.urlopen(array_jpg[number])
#Ouvrez le fichier en mode binaire et écrivez le contenu de l'URL
#Les noms de fichiers sont des numéros de série(Exemple: 0.jpg/1.jpg/......)
f = open("%d.jpg " % (count), "wb")
f.write(request.read())
#Fermer le fichier
f.close()
count += 1
#coding:utf-8
from PIL import Image
import os
input_path = "C:\\Users\\image"
output_path = "C:\\Users\\image_480x300"
#Obtenez le nom du fichier dans le dossier d'image
list_input_path = os.listdir(input_path)
for number in range(0, len(list_input_path)):
#Ouvrir le fichier image
img = Image.open(input_path + "/" + list_input_path[number], 'r')
# img.resize((480, 300), Image.LANCZOS)Le paramètre de taille à redimensionner, le paramètre de filtre
img_resize_lanczos = img.resize((480, 300), Image.LANCZOS)
img_resize_lanczos = img_resize_lanczos.convert("RGB")
#Enregistrer l'image redimensionnée
img_resize_lanczos.save(output_path + "/" + list_input_path[number], quality = 100)
Sur le site ci-dessus, les explications ont été rédigées avec soin et il n'y a pas eu de duplication. C'était un site très bien organisé.
Je pense que vous aurez besoin de certaines données lorsque vous voudrez faire du machine learning. Dans un tel cas, si vous avez ce type de connaissances, vous pouvez immédiatement collecter des données et démarrer l'apprentissage automatique. J'ai également collecté de nombreuses images en utilisant ce code source, je voudrais donc l'utiliser pour l'apprentissage automatique. Veuillez faire attention au droit d'auteur de l'image.