python3下载文件-使用Python 3从网上下载文件
小编典典
如果要将网页的内容转换为变量,则只需read响应urllib.request.urlopen:
import urllib.request
...
url = 'http://example.com/'
response = urllib.request.urlopen(url)
data = response.read() # a `bytes` object
text = data.decode('utf-8') # a `str`; this step can't be used if data is binary
下载和保存文件的最简单方法是使用以下urllib.request.urlretrieve功能:
import urllib.request
...
# Download the file from `url` and save it locally under `file_name`:
urllib.request.urlretrieve(url, file_name)
import urllib.request
...
# Download the file from `url`, save it in a temporary directory and get the
# path to it (e.g. '/tmp/tmpb48zma.txt') in the `file_name` variable:
file_name, headers = urllib.request.urlretrieve(url)
但是请记住,这urlretrieve被认为是遗留的,并且可能会被弃用(尽管不确定为什么)。
因此,执行此操作的最正确方法是使用urllib.request.urlopen函数返回一个表示HTTP响应的类似文件的对象,然后使用将其复制到实际文件中shutil.copyfileobj。
import urllib.request
import shutil
...
# Download the file from `url` and save it locally under `file_name`:
with urllib.request.urlopen(url) as response, open(file_name, 'wb') as out_file:
shutil.copyfileobj(response, out_file)
如果这看起来太复杂,则可能要简化一些并将整个下载存储在一个bytes对象中,然后将其写入文件。但这仅适用于小文件。
import urllib.request
...
# Download the file from `url` and save it locally under `file_name`:
with urllib.request.urlopen(url) as response, open(file_name, 'wb') as out_file:
data = response.read() # a `bytes` object
out_file.write(data)
可以动态提取.gz(可能还有其他格式)压缩数据,但是这种操作可能需要HTTP服务器支持对文件的随机访问。
import urllib.request
import gzip
...
# Read the first 64 bytes of the file inside the .gz archive located at `url`
url = 'http://example.com/something.gz'
with urllib.request.urlopen(url) as response:
with gzip.GzipFile(fileobj=response) as uncompressed:
file_header = uncompressed.read(64) # a `bytes` object
# Or do anything shown above using `uncompressed` instead of `response`.
2020-02-21
python3下载文件-使用Python 3从网上下载文件相关推荐
- python3 下载文件-使用Python 3从网上下载文件
小编典典 如果要将网页的内容转换为变量,则只需read响应urllib.request.urlopen: import urllib.request ... url = "http://ex ...
- 如何用迅雷下载python_用Python调用迅雷批量下载excel表内的链接,并同时对文件重命名(使用的是openpyxl)...
#首先把文件名放在excel表中的第一列,把对应的链接地址放在第二列 #为什么要用迅雷来下载,因为可以加速啊 #为什么你有这些链接啊,因为我用了八爪鱼爬虫啊 #为什么用八爪鱼爬虫啊,因为python学 ...
- python多线程下载ts_基于Python的ERA-5多线程下载(1)
目录 基于Python的ERA-5多线程下载分为两部分,<基于Python的ERA-5多线程下载 (1)>,直接再本地使用,即写代码的人使用:<基于Python的ERA-5多线程下载 ...
- python you-get下载视频-使用python库之you-get下载视频
电脑想要下载b站的视频,防止视频被和谐了本地还能看,但是电脑端b站却没有本地下载的视频链接,这时候就可以用you-get下载了. 1.安装python.怎么安装就不写了.可以直接安装anaconda, ...
- python在哪下载-2018版Python教程从哪儿下载
原标题:2018版Python教程从哪儿下载 1989年冬天,创始人Guido van Rossum为了打发圣诞节的无趣而创造了它.之所以选中Python(大蟒蛇)作为该编程语言的名字,是因为他是一个 ...
- 用python可以免费下载音乐吗-Python 教你轻松下载网易音乐歌曲
前两篇文章收集了歌手信息和歌词,光有歌手信息和歌词没有歌曲怎么行,那不是耍流氓吗?正好今天周末,给大家发点福利,喜欢听音乐的同学有福了,这篇文章直接把网易云音乐歌手的热门歌曲 50 首全部免费下载下来 ...
- python读取txt文件写入-python 读取、写入txt文件的示例
写入文件 使用open()函数和write()函数 但是有两种写法,分别是'a'和'w' 'a' 表示写入文件 若无该文件会直接创建一个 如果存在这个文件,会接着已有的内容的后面写入 with ope ...
- 22 Python IO、打印到屏幕、读取键盘输入、打开和关闭文件、文件定位、重命名和删除文件、Python里的目录、文件,目录相关的方法
22Python文件I/O 22.1打印到屏幕 最简单的输出方法是用print语句,你可以给它传递零个或多个用逗号隔开的表达式.此函数把你传递的表达式转换成一个字符串表达式,并将结果写到标准输出如下: ...
- python中文版下载-趣学python编程中文版 PDF 下载
相关截图: 资料简介: Python是一款解释型.面向对象.动态数据类型的高级程序设计语言.Python语法简捷而清晰,具有丰富和强大的类库,因而在各种行业中得到广泛的应用.对于初学者来讲,Pytho ...
最新文章
- Oracle insert大数据量经验之谈
- Python 守护线程
- windows中以管理员身份运行cmd
- layer iframe层的使用,传参
- 显式锁select for update 用法
- entity reference在views中的运用
- 5.1 vim—5.4vim编辑器
- 开始ubuntu 14.04 的装X模式---终端模式下中文输入,听歌,上irc 开启framebuffer看电影 截图...
- 2018年蓝桥杯B组题E题+快排
- javaweb---简易邮件发送
- HTTPS下导出excel失败解决办法
- wdcp支持两种安装方式
- Freeradius+mysql+daloradius简单安装配置
- python生成树状图_用 python 将思维导图转换成树形列表
- eyoucms栏目类型介绍
- Origin_8.0_crack(origin8.0序列号(origin8.0破解补丁))
- b560主板怎么样 b560主板支持的cpu
- 玩转Linux的下Ip计算器(图文)
- bat 使用 7z 压缩文件夹
- Mysql 隐式类型转换
热门文章
- CSS3-transition,过渡实例
- JS获取DOM元素的八种方法
- c/c++ 整形转字符串
- hbase全分布安装配置
- Ubuntu16.04安装Pycharm2017.2
- Struts2.3.4.1+Spring3.2.3+Hibernate4.1.9整合
- avalov+require实现tab栏
- PHP内核探索之变量(2)-理解引用
- win7如何配置access数据源
- malloc 和 calloc的区别?