在这段代码中,我们首先导入了requests模块,然后,我们从clint.textui导入了进度组件。唯一的区别是**在for循环中。**在将内容写入文件时,我们使用了进度条模块的bar方法。
7
使用urllib下载网页
在本节中,我们将使用urllib下载一个网页。
urllib库是Python的标准库,因此你不需要安装它。
以下代码行可以轻松地下载一个网页:
在这里指定你想将文件保存为什么以及你想将它存储在哪里的URL。
在这段代码中,我们使用了urlretrieve方法并传递了文件的URL,以及保存文件的路径。文件扩展名将是.html。
8
通过代理下载
如果你需要使用代理下载你的文件,你可以使用urllib模块的ProxyHandler。请看以下代码:
在这段代码中,我们创建了代理对象,**并通过调用urllib的build_opener方法来打开该代理,**并传入该代理对象。然后,我们创建请求来获取页面。
此外,你还可以按照官方文档的介绍来使用requests模块:
你只需要**导入requests模块并创建你的代理对象。**然后,你就可以获取文件了。
9
使用urllib3
urllib3是urllib模块的改进版本。你可以使用pip下载并安装它:
我们将通过使用urllib3来获取一个网页并将它存储在一个文本文件中。
导入以下模块:
在处理文件时,我们使用了shutil模块。
现在,我们像这样来初始化URL字符串变量:
然后,我们使用了urllib3的PoolManager ,它会跟踪必要的连接池。
创建一个文件:
最后,我们发送一个GET请求来获取该URL并打开一个文件,接着将响应写入该文件:
10
使用Boto3从S3下载文件
要从Amazon S3下载文件,你可以使用Python boto3模块。
在开始之前,你需要使用pip安装awscli模块:
对于AWS配置,请运行以下命令:
现在,按以下命令输入你的详细信息:
要从Amazon S3下载文件,你需要导入boto3和botocore。Boto3是一个Amazon SDK,**它允许Python访问Amazon web服务(如S3)。**Botocore提供了与Amazon web服务进行交互的命令行服务。
Botocore自带了awscli。要安装boto3,请运行以下命令:
现在,导入这两个模块:
在从Amazon下载文件时,我们需要三个参数:
-
Bucket名称
-
你需要下载的文件名称
-
文件下载之后的名称
初始化变量:
现在,**我们初始化一个变量来使用会话的资源。**为此,我们将调用boto3的resource()方法并传入服务,即s3:
最后,使用download_file方法下载文件并传入变量:
11
使用asyncio
asyncio模块**主要用于处理系统事件。**它围绕一个事件循环进行工作,该事件循环会等待事件发生,然后对该事件作出反应。这个反应可以是调用另一个函数。这个过程称为事件处理。asyncio模块使用协同程序进行事件处理。
要使用asyncio事件处理和协同功能,我们将导入asyncio模块:
现在,像这样定义asyncio协同方法:
关键字async表示这是一个原生asyncio协同程序。在协同程序的内部,我们有一个await关键字,它会返回一个特定的值。我们也可以使用return关键字。
感谢每一个认真阅读我文章的人,看着粉丝一路的上涨和关注,礼尚往来总是要有的:
① 2000多本Python电子书(主流和经典的书籍应该都有了)
② Python标准库资料(最全中文版)
③ 项目源码(四五十个有趣且经典的练手项目及源码)
④ Python基础入门、爬虫、web开发、大数据分析方面的视频(适合小白学习)
⑤ Python学习路线图(告别不入流的学习)
小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。
深知大多数初中级Python工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年Python爬虫全套学习资料》送给大家,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频
如果你觉得这些内容对你有帮助,可以添加下面V无偿领取!(备注:python)
是自己摸索成长或者是报班学习,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!**
因此收集整理了一份《2024年Python爬虫全套学习资料》送给大家,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频
如果你觉得这些内容对你有帮助,可以添加下面V无偿领取!(备注:python)
[外链图片转存中…(img-jDAz82Sj-1710941725318)]