Table des matières
1. Utilisation des requêtes
2. Utilisation de wget
3. Télécharger des fichiers redirigés
4. Téléchargez des fichiers volumineux en morceaux
5. Téléchargez plusieurs fichiers (téléchargement parallèle/par lots)
6. Utilisez la barre de progression pour télécharger
Dans cette section, nous utiliserons urllib pour télécharger une page Web.
Si vous avez besoin d'utiliser un proxy pour télécharger vos fichiers, vous pouvez utiliser le ProxyHandler du module urllib. Veuillez regarder le code suivant :
urllib3 est une version améliorée du module urllib. Vous pouvez le télécharger et l'installer en utilisant pip :
Pour télécharger des fichiers depuis Amazon S3, vous pouvez utiliser le module Python boto3.
11. Utilisation du module asyncio
Maison développement back-end Tutoriel Python 11 postures téléchargées en Python, toutes plus avancées les unes que les autres

11 postures téléchargées en Python, toutes plus avancées les unes que les autres

May 15, 2023 pm 04:31 PM
python 代码 姿势

使用 Python 下载的11种姿势,一种比一种高级

Ci-dessous, vous apprendrez comment surmonter divers défis que vous pourriez rencontrer, tels que le téléchargement de fichiers redirigés, le téléchargement de fichiers volumineux, la réalisation d'un téléchargement multithread et d'autres stratégies.

1. Utilisation des requêtes

Vous pouvez utiliser le module de requêtes pour télécharger des fichiers à partir d'une URL.

Considérez le code suivant :

使用 Python 下载的11种姿势,一种比一种高级

Vous obtenez simplement l'URL en utilisant la méthode get du module de requêtes et stockez le résultat dans une variable appelée "monfichier". Ensuite, écrivez le contenu de cette variable dans le fichier.

2. Utilisation de wget

使用 Python 下载的11种姿势,一种比一种高级

Vous pouvez également utiliser le module wget de Python pour télécharger des fichiers à partir d'une URL. Vous pouvez installer le module wget à l'aide de pip en suivant la commande :

Considérez le code suivant, que nous utiliserons pour télécharger l'image du logo pour Python.

使用 Python 下载的11种姿势,一种比一种高级

Dans ce code, l'URL et le chemin (où l'image sera stockée) sont transmis à la méthode de téléchargement du module wget.

3. Télécharger des fichiers redirigés

Dans cette section, vous apprendrez à utiliser les requêtes pour télécharger un fichier à partir d'une URL qui sera redirigé vers une autre URL avec un fichier .pdf. L'URL ressemble à ceci :

使用 Python 下载的11种姿势,一种比一种高级

Pour télécharger ce fichier pdf, utilisez le code suivant :

使用 Python 下载的11种姿势,一种比一种高级

Dans ce code, nous précisons l'URL dans la première étape. Ensuite, nous utilisons la méthode get du module request pour obtenir l'URL. Dans la méthode get, nous définissons allow_redirects sur True, ce qui autorisera les redirections dans l'URL et le contenu redirigé sera attribué à la variable myfile. De plus, recherchez dans le backend du compte public les meilleurs architectes et répondez « Statut de l'entretien » pour obtenir un coffret cadeau surprise.

Enfin, nous ouvrons un fichier pour écrire le contenu obtenu.

4. Téléchargez des fichiers volumineux en morceaux

Considérez le code suivant :

使用 Python 下载的11种姿势,一种比一种高级

Tout d'abord, nous utilisons la méthode get du module requêtes comme auparavant, mais cette fois, nous définirons l'attribut stream sur True.

Ensuite, nous créons un fichier nommé PythonBook.pdf dans le répertoire de travail actuel et l'ouvrons en écriture.

Ensuite, nous précisons la taille du morceau à télécharger à chaque fois. Nous l'avons défini sur 1024 octets, puis avons parcouru chaque morceau et écrit ces morceaux dans le fichier jusqu'à la fin du morceau.

N'est-ce pas beau ? Ne vous inquiétez pas, nous afficherons une barre de progression du processus de téléchargement plus tard.

5. Téléchargez plusieurs fichiers (téléchargement parallèle/par lots)

Pour télécharger plusieurs fichiers en même temps, veuillez importer les modules suivants :

使用 Python 下载的11种姿势,一种比一种高级

Nous avons importé les modules OS et Time pour vérifier combien de temps il faut pour téléchargez les fichiers. Le module ThreadPool vous permet d'exécuter plusieurs threads ou processus à l'aide d'un pool.

Créons une fonction simple qui décompose la réponse à un fichier :

使用 Python 下载的11种姿势,一种比一种高级

L'URL est un tableau 2D qui spécifie le chemin et l'URL de la page que vous souhaitez télécharger.

使用 Python 下载的11种姿势,一种比一种高级

Tout comme nous l'avons fait dans la section précédente, nous transmettons cette URL à request.get. Enfin, nous ouvrons le fichier (le chemin spécifié dans l'URL) et écrivons le contenu de la page.

Maintenant, nous pouvons appeler cette fonction pour chaque URL individuellement, ou nous pouvons appeler cette fonction pour toutes les URL en même temps. Appelons cette fonction pour chaque URL individuellement dans une boucle for, en faisant attention au timer :

使用 Python 下载的11种姿势,一种比一种高级

Remplacez maintenant la boucle for par la ligne de code suivante :

使用 Python 下载的11种姿势,一种比一种高级

Exécutez le script.

6. Utilisez la barre de progression pour télécharger

La barre de progression est un composant de l'interface utilisateur du module clint. Entrez la commande suivante pour installer le module clint :

使用 Python 下载的11种姿势,一种比一种高级

Considérez le code suivant :

使用 Python 下载的11种姿势,一种比一种高级#🎜🎜 ##🎜 🎜#Dans ce code, nous avons d'abord importé le module de requêtes, puis nous avons importé le composant de progression depuis clint.textui. La seule différence réside dans la boucle for. Lors de l'écriture du contenu dans un fichier, nous utilisons la méthode bar du module de barre de progression.

7. Utilisez urllib pour télécharger une page Web

Dans cette section, nous utiliserons urllib pour télécharger une page Web.

La bibliothèque urllib est la bibliothèque standard de Python, vous n'avez donc pas besoin de l'installer.

Les lignes de code suivantes permettent de télécharger facilement une page Web :

使用 Python 下载的11种姿势,一种比一种高级Spécifiez ici ce que vous souhaitez que le fichier soit enregistré pour quoi et ce que vous voulez qu'il soit. L'URL de l'endroit où le stocker.

使用 Python 下载的11种姿势,一种比一种高级Dans ce code, nous utilisons la méthode urlretrieve et transmettons l'URL du fichier, ainsi que le chemin pour enregistrer le fichier. L'extension du fichier sera .html.

8. Télécharger via proxy

Si vous avez besoin d'utiliser un proxy pour télécharger vos fichiers, vous pouvez utiliser le ProxyHandler du module urllib. Veuillez regarder le code suivant :

使用 Python 下载的11种姿势,一种比一种高级Dans ce code, nous créons l'objet proxy et ouvrons le proxy en appelant la méthode build_opener d'urllib, et passons le objet proxy. Ensuite, nous créons une demande pour obtenir la page.

De plus, vous pouvez également utiliser le module de requêtes comme décrit dans la documentation officielle :

使用 Python 下载的11种姿势,一种比一种高级Il vous suffit d'importer le module de requêtes et créez votre objet proxy. Ensuite, vous pouvez récupérer le fichier.

9. Utiliser urllib3

urllib3 est une version améliorée du module urllib. Vous pouvez le télécharger et l'installer en utilisant pip :

使用 Python 下载的11种姿势,一种比一种高级 Nous utiliserons urllib3 pour obtenir une page Web et la stocker dans un fichier texte.

Importez les modules suivants :

使用 Python 下载的11种姿势,一种比一种高级Lors du traitement des fichiers, nous utilisons le module Shutil.

Maintenant, nous initialisons la variable de chaîne d'URL comme ceci :

使用 Python 下载的11种姿势,一种比一种高级Ensuite, nous utilisons le PoolManager d'urllib3, qui regroupe les pools de connexions nécessaires sont suivis.

使用 Python 下载的11种姿势,一种比一种高级 Créer un fichier :

使用 Python 下载的11种姿势,一种比一种高级Enfin, on envoie un GET Demandez à obtenir l'URL et ouvrez un fichier, puis écrivez la réponse au fichier :

使用 Python 下载的11种姿势,一种比一种高级10 Téléchargez des fichiers depuis S3 en utilisant Boto3

.

Pour télécharger des fichiers depuis Amazon S3, vous pouvez utiliser le module Python boto3.

Avant de commencer, vous devez installer le module awscli à l'aide de pip :

使用 Python 下载的11种姿势,一种比一种高级Pour la configuration AWS, exécutez la commande suivante :

Maintenant, entrez vos coordonnées en appuyant sur la commande suivante :

使用 Python 下载的11种姿势,一种比一种高级

Pour télécharger des fichiers depuis Amazon S3, vous devez importer boto3 et botocore. Boto3 est un SDK Amazon qui permet à Python d'accéder aux services Web Amazon (tels que S3). Botocore fournit un service de ligne de commande pour interagir avec les services Web Amazon.

Botocore est livré avec awscli. Pour installer boto3, exécutez la commande suivante :

使用 Python 下载的11种姿势,一种比一种高级

Maintenant, importez ces deux modules :

使用 Python 下载的11种姿势,一种比一种高级

Lors du téléchargement du fichier depuis Amazon, nous avons besoin de trois paramètres :

  • Bucket Name
  • Vous devez télécharger The nom du fichier
  • Le nom du fichier après son téléchargement

Variable d'initialisation :

使用 Python 下载的11种姿势,一种比一种高级

Maintenant, nous initialisons une variable pour utiliser les ressources de la session. Pour ce faire, nous allons appeler la méthode resource() de boto3 et transmettre le service, qui est s3:

使用 Python 下载的11种姿势,一种比一种高级

Enfin, utiliser la méthode download_file pour télécharger le fichier et transmettre la variable :

使用 Python 下载的11种姿势,一种比一种高级

11. Utilisation du module asyncio

asyncio Principalement utilisé pour gérer les événements système. Il fonctionne autour d'une boucle d'événements qui attend qu'un événement se produise et réagit ensuite à cet événement. La réaction peut être d'appeler une autre fonction. Ce processus est appelé traitement des événements. Le module asyncio utilise des coroutines pour la gestion des événements.

Pour utiliser la gestion des événements asyncio et la fonctionnalité coroutine, nous allons importer le module asyncio :

使用 Python 下载的11种姿势,一种比一种高级

Maintenant, définissons la méthode de coroutine asyncio comme ceci :

使用 Python 下载的11种姿势,一种比一种高级

Le mot-clé async signifie qu'il s'agit d'une coroutine asyncio native. À l'intérieur de la coroutine, nous avons un mot-clé wait, qui renvoie une valeur spécifique. Nous pouvons également utiliser le mot-clé return.

Maintenant, créons un morceau de code pour télécharger un fichier à partir d'un site Web à l'aide de coroutine :

使用 Python 下载的11种姿势,一种比一种高级

Dans ce morceau de code, nous avons créé une fonction coroutine asynchrone qui téléchargera notre fichier et renverra un message.

Ensuite, nous appelons main_func en utilisant une autre coroutine asynchrone, qui attend les URL et regroupe toutes les URL dans une file d'attente. La fonction d'attente d'asyncio attendra la fin de la coroutine.

Maintenant, pour démarrer la coroutine, nous devons mettre la coroutine dans une boucle d'événement en utilisant la méthode get_event_loop() d'asyncio, et enfin, nous exécutons cette boucle d'événement en utilisant la méthode run_until_complete() d'asyncio.

Télécharger des fichiers à l'aide de Python est amusant. J'espère que ce tutoriel vous sera utile !

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Quelle est la raison pour laquelle PS continue de montrer le chargement? Quelle est la raison pour laquelle PS continue de montrer le chargement? Apr 06, 2025 pm 06:39 PM

Les problèmes de «chargement» PS sont causés par des problèmes d'accès aux ressources ou de traitement: la vitesse de lecture du disque dur est lente ou mauvaise: utilisez Crystaldiskinfo pour vérifier la santé du disque dur et remplacer le disque dur problématique. Mémoire insuffisante: améliorez la mémoire pour répondre aux besoins de PS pour les images à haute résolution et le traitement complexe de couche. Les pilotes de la carte graphique sont obsolètes ou corrompues: mettez à jour les pilotes pour optimiser la communication entre le PS et la carte graphique. Les chemins de fichier sont trop longs ou les noms de fichiers ont des caractères spéciaux: utilisez des chemins courts et évitez les caractères spéciaux. Problème du PS: réinstaller ou réparer le programme d'installation PS.

Comment résoudre le problème du chargement lorsque PS est démarré? Comment résoudre le problème du chargement lorsque PS est démarré? Apr 06, 2025 pm 06:36 PM

Un PS est coincé sur le "chargement" lors du démarrage peut être causé par diverses raisons: désactiver les plugins corrompus ou conflictuels. Supprimer ou renommer un fichier de configuration corrompu. Fermez des programmes inutiles ou améliorez la mémoire pour éviter une mémoire insuffisante. Passez à un entraînement à semi-conducteurs pour accélérer la lecture du disque dur. Réinstaller PS pour réparer les fichiers système corrompus ou les problèmes de package d'installation. Afficher les informations d'erreur pendant le processus de démarrage de l'analyse du journal d'erreur.

Comment accélérer la vitesse de chargement de PS? Comment accélérer la vitesse de chargement de PS? Apr 06, 2025 pm 06:27 PM

La résolution du problème du démarrage lent Photoshop nécessite une approche à plusieurs volets, notamment: la mise à niveau du matériel (mémoire, lecteur à semi-conducteurs, CPU); des plug-ins désinstallés ou incompatibles; nettoyer régulièrement les déchets du système et des programmes de fond excessifs; clôture des programmes non pertinents avec prudence; Éviter d'ouvrir un grand nombre de fichiers pendant le démarrage.

Comment résoudre le problème du chargement lorsque le PS ouvre le fichier? Comment résoudre le problème du chargement lorsque le PS ouvre le fichier? Apr 06, 2025 pm 06:33 PM

Le bégaiement "Chargement" se produit lors de l'ouverture d'un fichier sur PS. Les raisons peuvent inclure: un fichier trop grand ou corrompu, une mémoire insuffisante, une vitesse du disque dur lente, des problèmes de pilote de carte graphique, des conflits de version PS ou du plug-in. Les solutions sont: vérifier la taille et l'intégrité du fichier, augmenter la mémoire, mettre à niveau le disque dur, mettre à jour le pilote de carte graphique, désinstaller ou désactiver les plug-ins suspects et réinstaller PS. Ce problème peut être résolu efficacement en vérifiant progressivement et en faisant bon usage des paramètres de performances PS et en développant de bonnes habitudes de gestion des fichiers.

Comment résoudre le problème du chargement lorsque PS montre toujours qu'il se charge? Comment résoudre le problème du chargement lorsque PS montre toujours qu'il se charge? Apr 06, 2025 pm 06:30 PM

La carte PS est "Chargement"? Les solutions comprennent: la vérification de la configuration de l'ordinateur (mémoire, disque dur, processeur), nettoyage de la fragmentation du disque dur, mise à jour du pilote de carte graphique, ajustement des paramètres PS, réinstaller PS et développer de bonnes habitudes de programmation.

Comment les plumes PS contrôlent-elles la douceur de la transition? Comment les plumes PS contrôlent-elles la douceur de la transition? Apr 06, 2025 pm 07:33 PM

La clé du contrôle des plumes est de comprendre sa nature progressive. Le PS lui-même ne fournit pas la possibilité de contrôler directement la courbe de gradient, mais vous pouvez ajuster de manière flexible le rayon et la douceur du gradient par plusieurs plumes, des masques correspondants et des sélections fines pour obtenir un effet de transition naturel.

Comment utiliser MySQL après l'installation Comment utiliser MySQL après l'installation Apr 08, 2025 am 11:48 AM

L'article présente le fonctionnement de la base de données MySQL. Tout d'abord, vous devez installer un client MySQL, tel que MySQLWorkBench ou le client de ligne de commande. 1. Utilisez la commande MySQL-UROot-P pour vous connecter au serveur et connecter avec le mot de passe du compte racine; 2. Utilisez Createdatabase pour créer une base de données et utilisez Sélectionner une base de données; 3. Utilisez CreateTable pour créer une table, définissez des champs et des types de données; 4. Utilisez InsertInto pour insérer des données, remettre en question les données, mettre à jour les données par mise à jour et supprimer les données par Supprimer. Ce n'est qu'en maîtrisant ces étapes, en apprenant à faire face à des problèmes courants et à l'optimisation des performances de la base de données que vous pouvez utiliser efficacement MySQL.

Que dois-je faire si la carte PS est dans l'interface de chargement? Que dois-je faire si la carte PS est dans l'interface de chargement? Apr 06, 2025 pm 06:54 PM

L'interface de chargement de la carte PS peut être causée par le logiciel lui-même (corruption de fichiers ou conflit de plug-in), l'environnement système (corruption du pilote ou des fichiers système en raison), ou matériel (corruption du disque dur ou défaillance du bâton de mémoire). Vérifiez d'abord si les ressources informatiques sont suffisantes, fermez le programme d'arrière-plan et publiez la mémoire et les ressources CPU. Correction de l'installation de PS ou vérifiez les problèmes de compatibilité pour les plug-ins. Mettre à jour ou tomber la version PS. Vérifiez le pilote de la carte graphique et mettez-le à jour et exécutez la vérification du fichier système. Si vous résumez les problèmes ci-dessus, vous pouvez essayer la détection du disque dur et les tests de mémoire.

See all articles