Python 下载的 8种

简介: Python 下载的 8种

文章目录

1. 使用requests

1832b220aa754cd18c504acc7686a560.png

下载重定向的文件

1832b220aa754cd18c504acc7686a560.png

2. 使用wget

1832b220aa754cd18c504acc7686a560.png

3. 下载多个文件(并行/批量下载)

1832b220aa754cd18c504acc7686a560.png

我们导入了os和time模块来检查下载文件需要多少时间。ThreadPool模块允许你使用池运行多个线程或进程。

让我们创建一个简单的函数,将响应分块发送到一个文件:

1832b220aa754cd18c504acc7686a560.png

这个URL是一个二维数组,它指定了你要下载的页面的路径和URL。

1832b220aa754cd18c504acc7686a560.png

就像在前一节中所做的那样,我们将这个URL传递给requests.get。最后,我们打开文件(URL中指定的路径)并写入页面内容。

现在,我们可以分别为每个URL调用这个函数,我们也可以同时为所有URL调用这个函数。让我们在for循环中分别为每个URL调用这个函数,注意计时器:

1832b220aa754cd18c504acc7686a560.png

现在,使用以下代码行替换for循环:

1832b220aa754cd18c504acc7686a560.png

4. 使用进度条进行下载

1832b220aa754cd18c504acc7686a560.png

5. 使用urllib下载网页

1832b220aa754cd18c504acc7686a560.png

6. 通过代理下载

1832b220aa754cd18c504acc7686a560.png

在这段代码中,我们创建了代理对象,并通过调用urllib的build_opener方法来打开该代理,并传入该代理对象。然后,我们创建请求来获取页面。

此外,你还可以按照官方文档的介绍来使用requests模块:

1832b220aa754cd18c504acc7686a560.png

7. 使用urllib3

1832b220aa754cd18c504acc7686a560.png

1832b220aa754cd18c504acc7686a560.png

1832b220aa754cd18c504acc7686a560.png

1832b220aa754cd18c504acc7686a560.png

1832b220aa754cd18c504acc7686a560.png

1832b220aa754cd18c504acc7686a560.png

8. 使用asyncio

asyncio模块主要用于处理系统事件。它围绕一个事件循环进行工作,该事件循环会等待事件发生,然后对该事件作出反应。这个反应可以是调用另一个函数。这个过程称为事件处理。asyncio模块使用协同程序进行事件处理。

要使用asyncio事件处理和协同功能,我们将导入asyncio模块:

1832b220aa754cd18c504acc7686a560.png

现在,像这样定义asyncio协同方法

1832b220aa754cd18c504acc7686a560.png

关键字async表示这是一个原生asyncio协同程序。在协同程序的内部,我们有一个await关键字,它会返回一个特定的值。我们也可以使用return关键字。

现在,让我们使用协同创建一段代码来从网站下载一个文件:

1832b220aa754cd18c504acc7686a560.png

在这段代码中,我们创建了一个异步协同函数,它会下载我们的文件并返回一条消息。

然后,我们使用另一个异步协同程序调用main_func,它会等待URL并将所有URL组成一个队列。asyncio的wait函数会等待协同程序完成。

现在,为了启动协同程序,我们必须使用asyncio的get_event_loop()方法将协同程序放入事件循环中,最后,我们使用asyncio的run_until_complete()方法执行该事件循环。



相关文章
|
1月前
|
存储 缓存 Python
如何使用Python抓取PDF文件并自动下载到本地
如何使用Python抓取PDF文件并自动下载到本地
34 0
|
2月前
|
Linux 开发工具 C语言
30天python速成-第一天(python简介及下载安装)
30天python速成-第一天(python简介及下载安装)
51 3
|
3月前
|
Web App开发 Python
Python使用selenium的Chrome下载文件报错解决
Python使用selenium的Chrome下载文件报错解决
49 0
|
3月前
|
Web App开发 Python
python+selenium+Chrome 监测文件是否下载完毕
python+selenium+Chrome 监测文件是否下载完毕
64 0
|
14天前
|
开发者 Python
Python中使用`requests`库进行文件上传与下载的技术详解
【4月更文挑战第12天】在Python的网络编程中,文件上传和下载是常见的需求。`requests`库作为一个强大且易用的HTTP客户端,为我们提供了简便的文件上传和下载功能。本文将详细介绍如何在Python中使用`requests`库进行文件上传和下载。
|
17天前
|
数据采集 自然语言处理 搜索推荐
一篇博客带你领略学习Python的第三方库---如何获取和安装第三方库,关于三种常见第三方库的下载和讲解(pyinstall库,jieba库,wordcloud库),更多第三方库的分类介绍
一篇博客带你领略学习Python的第三方库---如何获取和安装第三方库,关于三种常见第三方库的下载和讲解(pyinstall库,jieba库,wordcloud库),更多第三方库的分类介绍
|
1月前
|
Shell Python Windows
通过Python实现win11环境下FTP的上传与下载
通过Python实现win11环境下FTP的上传与下载
|
1月前
|
数据采集 数据挖掘 开发者
手机使用Python轻松下载闲鱼短视频
手机使用Python轻松下载闲鱼短视频
30 0
手机使用Python轻松下载闲鱼短视频
|
1月前
|
Python
如何利用Python下载酷狗音乐
如何利用Python下载酷狗音乐
36 0
|
1月前
|
数据可视化 UED Python
用Python打造批量下载视频并能可视化下载进度的炫酷下载器
用Python打造批量下载视频并能可视化下载进度的炫酷下载器
34 0