一起学爬虫(Python) — 11

本文介绍了Python爬虫中异步下载图片的概念和实现,包括事件循环、协程、任务对象和未来对象的使用。通过aiohttp模块解决了requests不支持异步的问题,展示了多任务异步协程的实现思路和流程,提供了一个下载图片的函数案例。
摘要由CSDN通过智能技术生成

一起学爬虫(Python) — 19 年轻人,进来学自动化

概念

  1. event_loop:事件循环,也就是通过不断的循环获取任务的状态(完成/未完成)来分配任务。
  2. coroutine:协程对象,python中万物皆对象,不多说,懂的都懂。
  3. task:任务对象,对协程对象进行包装,加上了状态,完成和未完成。
  4. future:和task一样,只不过可以提前包装。
  5. async:定义一个协程,定义!
  6. await:挂起阻塞的操作,还记得之前说的IO等待吗,在那前面就要用到这个。

第一个案例

第一步,导入我们的asyncio模块,async+io!!!
在这里插入图片描述
第二步,用async定义一个协程,定义!
在这里插入图片描述
记住用await挂起阻塞的操作,也就是asyncio.sleep(2),这里是为了模拟下载所需要花费的时间!

awa

第三步,创建一个协程对象,对象,懂的都懂!
在这里插入图片描述

第四步,用event_loop创建一个事件循环,也就是游戏里的任务公布栏之类的~
在这里插入图片描述
第五步,是不是觉得该把任务对象方法事件循环中了??还真是的!
在这里插入图片描述

然后执行,就会成功执行我们的async函数:
在这里插入图片描述

第二个案例

那么这个时候就要有人问了,刚开始说的1,2,5,6都用上了,那3,4呢,3,4呢,3,4呢……
这就给大家用上!
task

  • 在这里插入图片描述
    这里我们就把duixiang这个协程对象放置到task任务对象,然后再把task任务对象放到任务列表中:
    在这里插入图片描述
    那么到这里就有人问了,用task和不用task又没有区别,为什么要用task呢?

我们来打印一下任务完成前后的task!

在这里插入图片描述

看到没有!!task给每个任务都贴上了标签,让循环器更好的去筛选哪些是完成了的,哪些是没完成的!

future也是一样的,这里就不多说了,我们主要用task。

实现异步下载图片

昨天呢,我们本来是要用异步实现下载图片的,但是遇到了一个小问题,那就是requests模块它不支持异步,那我们也没有办法强人锁男的啦,人各有志,让我们工地见面。

好啦,教大家一个支持异步的同时也支持requests功能的新模块!

aiohttp aiohttp aiohttp aiohttp aiohttp ……

aiohttp

首先,环境安装!

pip install aiohttp

当然你也可以在pycharm里直接搜索安装模块!

安装完了这个模块之后呢&

  • 46
    点赞
  • 38
    收藏
    觉得还不错? 一键收藏
  • 8
    评论
### 回答1: Python爬虫可以通过以下步骤: 1. 首先要Python基础语法和常用库,如数据类型、循环、函数、文件读写等。 2. Python爬虫框架,如Scrapy、BeautifulSoup、requests等。 3. 通过练习实战项目来熟悉爬虫的实际应用,如爬取网页内容、提取信息、存储数据等。 4. 爬虫的相关知识,如网络协议、数据清洗、数据分析等。 可以通过在线课程、书籍、视频教程等方式习,也可以加入爬虫爱好者群体,和大家一起交流习。 ### 回答2: Python爬虫的首要步骤是了解Python编程语言和基本的编程概念。如果你对Python已经有一些基础知识,那么可以直接开始爬虫。以下是一些Python爬虫的方法和步骤: 1. 找到适合初者的Python爬虫教程,例如Coursera、Udemy或YouTube上的在线视频教程。这些教程经常包含基础知识和实践项目。 2. Python的基本语法和数据结构。了解如何使用变量、条件语句、循环和函数等基本概念。 3. Python的网络库和爬虫框架,例如Requests、BeautifulSoup和Scrapy等。这些库和框架可以帮助你解析HTML、发送HTTP请求和处理数据。 4. 阅读相关的爬虫文档和教程,理解HTML、CSS和JavaScript等基础知识。这将有助于你理解网页的结构和内容。 5. 开始编写简单的爬虫程序,涉及基本的网页请求和数据提取。例如,编写一个程序来抓取一个网页的标题或图片链接。 6. 阅读和分析其他人编写的爬虫代码。GitHub是一个很好的资源,可以找到许多开源的爬虫项目。 7. 不断练习和挑战自己,尝试一些更复杂的爬虫任务,例如爬取动态网页、模拟登录和数据清洗等。 8. 参加相关的社区和论坛,与其他爬虫程序员交流和习。他们可以提供宝贵的经验和解决方案。 9. 保持对新技术和工具的关注,如机器习和自然语言处理。这些技术可以帮助你更高效地处理和分析爬取的数据。 10. 最重要的是坚持不懈。Python爬虫是一个不断探索和习的过程,只有不断实践和积累经验才能掌握这个技能。 ### 回答3: Python爬虫可以按照以下步骤进行: 1. 掌握Python基础知识:了解Python的语法、数据类型、循环、条件判断等基本知识,并熟悉常用的Python内置函数和标准库。 2. 习HTTP协议和网页基础知识:了解HTTP请求和响应的基本原理,理解网页的结构和常用的HTML标签,掌握获取网页内容的方法。 3. 习相关库和框架:掌握一些必备的Python库和框架,如 requests、Beautiful Soup、Scrapy等,这些工具能够帮助我们发送HTTP请求、解析网页内容并提取有用的信息。 4. 习正则表达式:正则表达式是一种强大的文本匹配工具,对于爬虫来说非常有用。习正则表达式的语法和常用的匹配规则,能够方便地从网页中提取所需的数据。 5. 爬虫实践:选择一个合适的目标网站开始实践爬虫操作。首先分析目标网站的网页结构,确定需要爬取的内容和所需的请求方式。然后编写代码,使用相应的库和工具发送请求、解析网页并提取数据,最后将数据保存到指定的位置。 6. 不断习和提升:爬虫领域发展迅速,新的爬虫技术和工具不断涌现。要不断习新的知识,掌握新的技术和工具,提升自己的爬虫水平。 在习的过程中,可以参考相关的书籍、教程和在线文档,也可以参加相关的培训或者线上课程。此外,多练习,动手实践是提高爬虫能力的关键,通过不断的实践和实际项目的经验积累,才能够真正掌握Python爬虫的技巧和方法。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值