详解使用Python下载文件的几种方法

yipeiwu_com6年前Python基础

在使用Python进行数据抓取的时候,有时候需要保持文件或图片等,在Python中可以有多种方式实现。今天就一起来学习下。

urllib.request

主要使用的是urlretrieve方法,该方法处理待淘汰的方法,不建议使用。

import urllib.request
 
url = '/zb_users/upload/202003/vjaus3xex13.png'
urllib.request.urlretrieve(url, './image/logo.png')

requests

相比上述方案,可以返回HTTP的meta信息。

import requests
 
r = requests.get(url)
with open('./image/logo.png', 'wb') as f:
  f.write(r.content)
 
# Retrieve HTTP meta-data
print(r.status_code)
print(r.headers['content-type'])
print(r.encoding)

wget

wget是Linux下的一个命令行下载工具,在Python中可以直接通过安装包后使用。使用方法如下:

import wget
 
url = '/zb_users/upload/202003/vjaus3xex13.png'
wget.download(url, './image/logo.png')

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持【听图阁-专注于Python设计】。

相关文章

Python单例模式的两种实现方法

Python单例模式的两种实现方法 方法一  import threading class Singleton(object): __instance = N...

Python中的迭代器与生成器高级用法解析

迭代器 迭代器是依附于迭代协议的对象——基本意味它有一个next方法(method),当调用时,返回序列中的下一个项目。当无项目可返回时,引发(raise)StopIteration异常...

详解Python中列表和元祖的使用方法

详解Python中列表和元祖的使用方法

list Python内置的一种数据类型是列表:list。list是一种有序的集合,可以随时添加和删除其中的元素。 比如,列出班里所有同学的名字,就可以用一个list表示: >...

Python中如何将一个类方法变为多个方法

Python中如何将一个类方法变为多个方法

前一篇文章《Python 中如何实现参数化测试?》中,我提到了在 Python 中实现参数化测试的几个库,并留下一个问题: 它们是如何做到把一个方法变成多个方法,并且将每个方法与相应的参...

使用Python获取Linux系统的各种信息

在本文中,我们将会探索使用Python编程语言工具来检索Linux系统各种信息。走你。 哪个Python版本? 当我提及Python,所指的就是CPython 2(准确的是2.7...