Enregistrez le fichier binaire en Python

J'utilise souvent ** Python ** pour télécharger par lots des images de fond d'écran à partir d'un certain site de papier peint, ou télécharger par lots des images de matériel à partir d'un certain site de matériel gratuit, mais s'il s'agit d'un environnement UNIX à ce moment-là,

import os
os.system("wget -O sample.jpg http://sample.org/sample.img")

C'était facile à faire avec ** wget **, mais wget ne peut pas être utilisé dans un environnement Windows. J'ai donc essayé de savoir comment enregistrer le binaire. Cela semble faire comme suit.


import shutil
import requests

URL = "http://sample.org/sample.img"

res = requests.get(URL,stream=True)
with open(filepath,"wb") as fp:
    shutil.copyfileobj(res.raw,fp)

Comme mentionné ci-dessus, le raw (objet HTTPResponse utilisant urllib3) dans l'objet Response du module ** requests **, Le format est * enregistrer en copiant dans l'objet fichier cible à l'aide de la fonction copyfileobj du module ** shutil **.

Si vous utilisez ceci, par exemple, lorsque vous souhaitez télécharger par lots des fichiers image à partir d'un certain site de papier peint,

import shutil
import requests
from BeautifulSoup import BeautifulSoup

URL = "http://sample.org/"
targets = []

soup = BeautifulSoup(requests.get(URL).text)
for link in soup.findAll("a"):
    if link.get("href").endswith(".jpg "):
        targets.append(link.get("href"))

for target in targets:
    res = requests.get(target)
    with open(target.split("/")[-1], "wb") as fp:
        shutil.copyfileobj(res.raw,fp)

Vous pouvez le faire en l'écrivant comme ceci. C'est très pratique, donc je pense que c'est une bonne idée d'en faire un script.

Recommended Posts

Enregistrez le fichier binaire en Python
Créer un fichier binaire en Python
Lisez le fichier ligne par ligne avec Python
Lisez le fichier ligne par ligne avec Python
[Python] Lire la ligne spécifiée dans le fichier
Opérations sur les fichiers en Python
Traitement de fichiers en Python
Dichotomie avec Python
Manipulation de fichiers avec Python
Recherche binaire en Python
Trouver des erreurs en Python
Recherche binaire en Python / C ++
Algorithme en Python (dichotomie)
Téléchargez des fichiers tout en affichant la progression dans Python 3.x
Ecrire une dichotomie en Python
Extraire le fichier xz avec python
Enregistrez le modèle pystan et les résultats dans un fichier pickle
Obtenir l'API arXiv en Python
Manipulation de chemin de fichier / dossier en Python
[Python] Ouvrez le fichier csv dans le dossier spécifié par pandas
Python dans le navigateur: la recommandation de Brython
Frappez l'API Sesami en Python
Création de Linebot et partage de fichiers avec Python
Changer la destination de sortie standard en un fichier en Python
Obtenez le chemin du bureau en Python
Obtenez le type MIME en Python et déterminez le format de fichier
Obtenez le chemin du script en Python
Dans la commande python, python pointe vers python3.8
Implémenter le modèle Singleton en Python
[Note] Importation de fichiers dans le répertoire parent en Python
L'histoire du "trou" dans le fichier
Accédez à l'API Web en Python
Exécutez le fichier python après avoir activé l'environnement virtuel python avec le fichier de commandes
Extraire le fichier targz en utilisant python
J'ai écrit la file d'attente en Python
Calculer le mois précédent en Python
Examiner la classe d'un objet avec python
Obtenez le chemin du bureau en Python
ORC, opérations de fichier Parquet en Python
Enregistrer les fichiers au format YAML avec PyYAML
Obtenez le nom d'hôte en Python
Google recherche la chaîne sur la dernière ligne du fichier en Python
Accéder à l'API Twitter avec Python
La première étape de Python Matplotlib
J'ai écrit la pile en Python
Maîtriser le module lowref en Python
Enregistrez le fichier d'authentification Pydrive dans un répertoire différent du script
Trier les noms de fichiers obtenus par Python glob dans l'ordre numérique
Lisez le fichier en Python avec un chemin relatif depuis le programme
[Python3] Enregistrez la matrice de moyenne et de covariance dans json avec les pandas
Obtenez la formule dans le fichier Excel sous forme de chaîne en Python
Apprenez le modèle de conception "Prototype" avec Python
Charger le SDK Python distant avec IntelliJ
Essayez d'utiliser l'API Wunderlist en Python
Contrôle exclusif avec fichier de verrouillage en Python
Apprenez le modèle de conception "Flyweight" en Python
Essayez d'utiliser l'API Kraken avec Python
Apprenez le modèle de conception "Memento" avec Python
Apprenez le modèle de conception "Proxy" en Python