[PYTHON] Récupérer une image d'une page Web et la redimensionner

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.

Environnement de développement

windows7 python 3.5 pycharm

Code source pour l'acquisition d'images

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

Code source de redimensionnement d'image

#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)

Impressions d'utilisation

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.

Recommended Posts

Récupérer une image d'une page Web et la redimensionner
Obtenez la page Web Python, encodez et affichez les caractères
[Mémo personnel] Obtenez des données sur le Web et faites-en un DataFrame
Un programme python qui redimensionne une vidéo et la transforme en image
Crop Numpy.ndarray et enregistrez-le en tant qu'image
Extraire des données d'une page Web avec Python
Essayez d'obtenir une page Web et un fichier JSON en utilisant la bibliothèque Requests de Python
Recevoir des e-mails de Gmail et étiqueter avec Python3
[Python3] Prenez une capture d'écran d'une page Web sur le serveur et recadrez-la davantage
Un mémo qui détecte le visage de l'image acquise à partir de la caméra Web avec OpenCV de Django et le renvoie.
Essayons COTOHA et recevons un joli message de Pokemon ▼
Vous qui recherchez et exécutez des commandes depuis un navigateur WEB 2
Obtenez une adresse IP globale et exportez-la vers des feuilles de calcul Google
Comment obtenir une liste de liens à partir d'une page de wikipedia
(Mémo) Jusqu'à ce que vous extrayiez uniquement la partie que vous voulez d'une certaine page Web, convertissez-la en page Sphinx et imprimez-la au format PDF
J'ai créé un robot Line qui devine le sexe et l'âge d'une personne à partir de l'image
Essayez d'extraire une chaîne de caractères d'une image avec Python3
Obtenez des données de VPS MySQL avec Python 3 et SQL Alchemy
Prenez une image avec Pepper et affichez-la sur votre tablette
Comment obtenir un ingénieur de la trentaine
Obtenez les conditions de simulation OCTA à partir d'un fichier et enregistrez avec les pandas
Créer un identifiant Santa à partir d'une image du Père Noël
Extraire des pages des vidages Wikipedia
Convertir une chaîne en image
Python - Obtenez le taux de bitcoin BTC / JPY à partir de bitflyer à intervalles réguliers et enregistrez-le dans un fichier
2.Faites un arbre de décision à partir de 0 avec Python et comprenez-le (2. Bases du programme Python)
Python VBA pour obtenir une capture de la page WEB entière avec Selenium
Quand j'ai utilisé phantomjs de la bibliothèque de sélénium de Python, il est devenu zombie
Jusqu'à ce que vous obteniez un instantané du service Amazon Elasticsearch et que vous le restauriez
Conseils: [Python] Restaurer et extraire au hasard un tableau à partir d'un fichier fasta
[Python] Créez un linebot pour écrire le nom et l'âge sur l'image
Démarrez la webcam, prenez une image fixe et enregistrez-la localement
Créez un arbre de décision à partir de 0 avec Python et comprenez-le (4. Structure des données)
[python] Envoyez l'image capturée de la caméra Web au serveur et enregistrez-la
Créez un arbre de décision à partir de 0 avec Python et comprenez-le (5. Entropie des informations)
Comment enregistrer les informations de point caractéristique de l'image dans un fichier et l'utiliser pour la mise en correspondance
Obtenez des données d'un oscilloscope avec pyVISA
Obtenez l'adresse à partir de la latitude et de la longitude
Créons une application Web de conversion A vers B avec Flask! De zéro ...
Générez un SSID et un mot de passe, convertissez-le en code QR et lancez-le dans Slack.
Je veux écrire un élément dans un fichier avec numpy et le vérifier.
[Python] Combiner des listes contenant des nombres en chaînes et les écrire dans un fichier de sortie
Solution lorsque Django ne peut pas charger d'images à partir d'un dossier statique
J'ai fait un modèle de classification d'images et essayé de le déplacer sur mobile
J'ai essayé d'extraire le dessin au trait de l'image avec Deep Learning
WEB grattage avec python et essayez de créer un nuage de mots à partir des critiques