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


Posted in Python onOctober 13, 2019

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

urllib.request

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

import urllib.request
 
url = 'https://www.baidu.com/img/superlogo_c4d7df0a003d3db9b65e9ef0fe6da1ec.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 = 'https://www.baidu.com/img/superlogo_c4d7df0a003d3db9b65e9ef0fe6da1ec.png'
wget.download(url, './image/logo.png')

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Pyramid添加Middleware的方法实例
Nov 27 Python
Python os模块介绍
Nov 30 Python
Python命令行参数解析模块getopt使用实例
Apr 13 Python
python并发编程之多进程、多线程、异步和协程详解
Oct 28 Python
Python机器学习算法之k均值聚类(k-means)
Feb 23 Python
python实现聊天小程序
Mar 13 Python
解决python3读取Python2存储的pickle文件问题
Oct 25 Python
详解Python基础random模块随机数的生成
Mar 23 Python
Django ORM多对多查询方法(自定义第三张表&ManyToManyField)
Aug 09 Python
Pytorch中的variable, tensor与numpy相互转化的方法
Oct 10 Python
python脚本调用iftop 统计业务应用流量的思路详解
Oct 11 Python
kafka-python 获取topic lag值方式
Dec 23 Python
Python中输入和输出(打印)数据实例方法
Oct 13 #Python
分享8点超级有用的Python编程建议(推荐)
Oct 13 #Python
ipad上运行python的方法步骤
Oct 12 #Python
python字典排序的方法
Oct 12 #Python
python查看数据类型的方法
Oct 12 #Python
python能做什么 python的含义
Oct 12 #Python
学python安装的软件总结
Oct 12 #Python
You might like
php 魔术函数使用说明
2010/02/21 PHP
PHP更新购物车数量(表单部分/PHP处理部分)
2013/05/03 PHP
使用Jquery搭建最佳用户体验的登录页面之记住密码自动登录功能(含后台代码)
2011/07/10 Javascript
javascript中自定义对象的属性方法分享
2013/07/12 Javascript
jQuery.extend()、jQuery.fn.extend()扩展方法示例详解
2014/05/08 Javascript
javascript面向对象之共享成员属性与方法及prototype关键字用法
2015/01/13 Javascript
jQuery链使用指南
2015/01/20 Javascript
实例讲解jquery与json的结合
2016/01/07 Javascript
Bootstrap创建可折叠的组件
2016/02/23 Javascript
学习AngularJs:Directive指令用法(完整版)
2016/04/26 Javascript
浅谈bootstrap源码分析之scrollspy(滚动侦听)
2016/06/06 Javascript
Web前端框架bootstrap实战【第一次接触使用】
2016/12/28 Javascript
简单实现js点击展开二级菜单功能
2017/05/16 Javascript
angularjs封装$http为factory的方法
2017/05/18 Javascript
react-native android状态栏的实现
2018/06/15 Javascript
jQuery实现参数自定义的文字跑马灯效果
2018/08/15 jQuery
vue点击当前路由高亮小案例
2019/09/26 Javascript
Vue使用screenfull实现全屏效果
2020/09/17 Javascript
[46:48]DOTA2上海特级锦标赛A组小组赛#2 Secret VS CDEC第三局
2016/02/25 DOTA
python脚本实现统计日志文件中的ip访问次数代码分享
2014/08/06 Python
Python中的装饰器用法详解
2015/01/14 Python
Python中使用socket发送HTTP请求数据接收不完整问题解决方法
2015/02/04 Python
Python语言的面相对象编程方式初步学习
2016/03/12 Python
Python实现堆排序的方法详解
2016/05/03 Python
python使用正则表达式去除中文文本多余空格,保留英文之间空格方法详解
2020/02/11 Python
python 实现两个线程交替执行
2020/05/02 Python
Jmeter HTTPS接口测试证书导入过程图解
2020/07/22 Python
Python如何利用Har文件进行遍历指定字典替换提交的数据详解
2020/11/05 Python
便携式太阳能系统的创新者:GOAL ZERO
2018/02/04 全球购物
小学教师管理制度
2014/01/18 职场文书
安全生产检查通报
2014/01/29 职场文书
竞选班长的演讲稿
2014/04/24 职场文书
聋哑人盗窃罪辩护词
2015/05/21 职场文书
详解MySQL的主键查询为什么这么快
2022/04/03 MySQL
多人盗宝《绿林侠盗》第三赛季4.5上线 跨平台实装
2022/04/03 其他游戏
vue实现列表垂直无缝滚动
2022/04/08 Vue.js