当前位置:   article > 正文

Python 下载的9种方法_python 下载文件

python 下载文件

allow_redirect参数True表示允许重定向

r = requests.get(url, allow_redirect=True)

with open(‘r.txt’, ‘wb’) as f:

f.write®

f.close()

四、大文件分块下载

有些文件非常的大,如果我们直接下载,可能会因为事件原因或者网络原因造成下载失败,这时候我可以使用分块下载的形式进行下载。

requests 支持分块下载,只需要将 stream 设为True 即可

import requests

url = ‘https://readthedocs.org/projects/python-guide/downloads/pdf/latest’

stream参数True表示分块下载

r = requests.get(url, stream=True)

with open(‘r.txt’, ‘wb’) as f:

for ch in r:

f.write®

f.close()

五、并行下载

多线程、多进程并发下载,大大提高下载速度

‘’’

遇到问题没人解答?小编创建了一个Python学习交流QQ群:778463939

寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!

‘’’

import requests

from multiprocessing.poll import Pool

定义下载函数

def url_response(url):

path, url = url

r = requests.get(url, stream=True)

with open(path, ‘wb’) as f:

for ch in r:

f.write(ch)

f.close()

urls = [‘aaa’, ‘bbb’, ‘ccc’] # 假设有好多个下载链接

排队下载的方式

for x in urls:

url_response(x)

并行下载的方式

ThreadPool(3).imap_unordered(url_response, urls)

六、下载中加入进度条

使用进度条更直观的查看下载进度,这里使用 clint 模块实现进度条功能

pip install clint

下载

import requests

from clint.textui import progess

url = ‘xxxxxxxxxxx’

r = requests.get(url, stream=True)

with open(‘x.txt’, ‘wb’) as f

total_length = int(r.headers.get(‘content-length’))

for ch in progress.bar(r.iter_content(chunk_size=2391975, expected)size=(total_length/1024)+1)):

if ch:

f.write(ch)

f.close()

七、使用 urllib 模块下载

urllib库是Python的标准库,因此不需要安装它。

下载代码

urllib.request.urlretrieve(URL, PATH)

八、通过代理下载

因为一些众所周知的原因我们下载国外的资源会非常的慢,这时候可以使用代理的方式进行下载

requests 模块使用代理

‘’’

遇到问题没人解答?小编创建了一个Python学习交流QQ群:778463939

寻找有志同道合的小伙伴,互帮互助,群里还有不错的视频学习教程和PDF电子书!

‘’’

import requests

定义代理,假设本机上有个梯子的服务,代理端口是2258

proxy = {‘http’: ‘http://127.0.0.1:2258’}

url = ‘xxxxxx’

r = requests.get(url, proxies=proxy )

urllib 模块使用代理

import urllib.request

url = ‘xxxxxxxxxx’

proxy = urllib.request.ProxyHandler({‘http’: ‘127.0.0.1’})

open_proxy = urllib.request.build_opener(proxy ) # 打开代理

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Python工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Python开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

img

img

img

img

img

img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以扫码获取!!!(备注Python)

img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以扫码获取!!!(备注Python)

img
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家小花儿/article/detail/1010906
推荐阅读
相关标签
  

闽ICP备14008679号