Maison > développement back-end > Tutoriel Python > Comment télécharger des fichiers dans Python

Comment télécharger des fichiers dans Python

William Shakespeare
Libérer: 2025-03-01 10:03:14
original
322 Les gens l'ont consulté

How to Download Files in Python

Python fournit une variété de façons de télécharger des fichiers depuis Internet, qui peuvent être téléchargés via HTTP à l'aide du package urllib ou de la bibliothèque requests. Ce tutoriel expliquera comment utiliser ces bibliothèques pour télécharger des fichiers à partir des URL de Python.

requests bibliothèque

requests est l'une des bibliothèques les plus populaires de Python. Il permet d'envoyer des demandes HTTP / 1.1 sans ajouter manuellement les chaînes de requête aux URL ou le codage de formulaire de post-données.

requests La bibliothèque peut remplir de nombreuses fonctions, notamment:

  • Ajouter des données de formulaire
  • Ajouter un fichier multi-parties
  • Accès aux données de réponse Python

Envoyez une demande

Tout d'abord, vous devez installer la bibliothèque, la méthode est très simple:

pip install requests
Copier après la connexion
Copier après la connexion

Pour tester si l'installation est réussie, vous pouvez simplement entrer la commande suivante dans l'interprète Python:

import requests
Copier après la connexion
Copier après la connexion

Si l'installation est réussie, aucune erreur ne se produira.

Les demandes HTTP incluent:

  • Get
  • post
  • put
  • supprimer
  • Options
  • tête

Envoyez une demande GET

L'envoi d'une demande est très simple, comme indiqué ci-dessous:

import requests
req = requests.get("https://www.google.com")
Copier après la connexion
Copier après la connexion

La commande ci-dessus obtiendra la page Google et stockera les informations dans status_code.

import requests
req = requests.get("https://www.google.com")
req.status_code
200  # 200 表示请求成功
Copier après la connexion

Et si vous voulez connaître le type de codage de la page Web Google?

req.encoding
'ISO-8859-1'
Copier après la connexion

peut-être que j'aimerais savoir quelle est la réponse:

req.text
Copier après la connexion

Il s'agit d'une partie tronquée du contenu de la réponse.

<code>'<meta content="Search the world\'s information, including webpages, imag...'</code>
Copier après la connexion

Envoyer la demande de post

Autrement dit, les demandes de poste sont utilisées pour créer ou mettre à jour des données, en particulier pour les soumissions de formulaires.

Supposons qu'il existe un formulaire d'inscription et que vous devez saisir votre adresse e-mail et votre mot de passe. Lorsque vous cliquez sur le bouton Soumettre Register, la demande de publication ressemble à ceci:

data = {"email": "info@tutsplus.com",
        "password": "12345"}
req = requests.post("http://www.google.com", params=data)
Copier après la connexion

Envoyer la demande de put

La demande de put est similaire à une demande de post et est utilisée pour mettre à jour les données. Par exemple, l'API suivante montre comment émettre une demande de vente:

data = {"name": "tutsplus",
        "telephone": "12345"}
r.put("http://www.contact.com", params=data)
Copier après la connexion

Envoyer la demande de suppression

Comme son nom l'indique, une demande de suppression est utilisée pour supprimer les données. Voici un exemple de demande de suppression:

data = {'name': 'Tutsplus'}
url = "https://www.contact.com/api/"
response = requests.delete(url, params=data)
Copier après la connexion

urllib package

Le package

urllib collecte plusieurs modules pour le traitement des URL:

  • urllib.error contient l'exception soulevée par urllib.parse pour analyser l'URL
  • robots.txt Fichier

urllib.request comme indiqué ci-dessous:

import urllib.request
with urllib.request.urlopen('http://python.org/') as response:
    html = response.read()
Copier après la connexion

Si vous souhaitez récupérer et stocker les ressources Internet, vous pouvez le faire via la fonction urlretrieve():

import urllib.request
filename, headers = urllib.request.urlretrieve('http://python.org/')
html = open(filename)
Copier après la connexion

Utilisez Python pour télécharger des images

Dans cet exemple, la bibliothèque requests et le module urllib sont utilisés pour télécharger cet exemple d'image.

url = 'https://www.python.org/static/opengraph-icon-200x200.png'
# 使用 urllib 下载
# 导入 urllib 库
import urllib.request
# 将网络对象复制到本地文件
urllib.request.urlretrieve(url, "python.png")
# 使用 requests 下载
# 导入 requests 库
import requests
# 以二进制格式下载 url 内容
r = requests.get(url)
# open 方法打开系统上的文件并写入内容
with open("python1.png", "wb") as code:
    code.write(r.content)
Copier après la connexion

Utilisez Python pour télécharger des fichiers PDF

Dans cet exemple, un fichier PDF sur les tendances Google est téléchargé.

url = 'https://static.googleusercontent.com/media/www.google.com/en//googleblogs/pdfs/google_predicting_the_present.pdf'
# 使用 urllib 下载
# 导入 urllib 包
import urllib.request
# 将网络对象复制到本地文件
urllib.request.urlretrieve(url, "tutorial.pdf")
# 使用 requests 下载
# 导入 requests 库
import requests
# 以二进制格式下载文件内容
r = requests.get(url)
# open 方法打开系统上的文件并写入内容
with open("tutorial1.pdf", "wb") as code:
    code.write(r.content)
Copier après la connexion

Utilisez Python pour télécharger des fichiers zip

Dans cet exemple, le contenu du référentiel GitHub est téléchargé et les fichiers sont stockés localement.

pip install requests
Copier après la connexion
Copier après la connexion

Utilisez Python pour télécharger des vidéos

Dans cet exemple, une conférence vidéo sera téléchargée.

import requests
Copier après la connexion
Copier après la connexion

Utilisez Python pour télécharger les fichiers CSV

Vous pouvez également utiliser les bibliothèques requests et urllib pour télécharger des fichiers CSV et utiliser le module csv pour traiter la réponse. Utilisons quelques exemples de données d'adresse CSV.

import requests
req = requests.get("https://www.google.com")
Copier après la connexion
Copier après la connexion

Conclusion

Ce tutoriel présente les méthodes de téléchargement de fichiers les plus couramment utilisées et les formats de fichiers les plus courants. Bien que moins de code soit écrit lorsque vous utilisez le module urllib, le module .netrc est plus recommandé en raison de sa simplicité, de sa popularité et de ses nombreuses fonctionnalités supplémentaires, notamment: la vérification SSL, le décodage de contenu automatique, le décodet de contenu automatique, le temps de réponse, le téléchargement de la chronométrage, le téléchargement de la Chunk, le téléchargement, le silhouette, la récompense, le temps de réponse, la récompense, la récompense, le silhouette (S) PROFIDER, Téléchargement, le téléchargement, le temps de réaction, le http (S) Proxy Prépression, DÉLUCHOTUR, DÉLUCHOT-TELYOUT, HETP ED Request, requests Prise en charge).

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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal