你将学到的
  • 协程
  • I/O 模型
  • 异步爬虫
  • gevent
  • Socket 编程
  • I/O 多路复用
  • greenlet

知识点: 1.协程发展过程 2.函数执行原理 3.生成器执行过程

知识点: 1.客户端/服务器架构简介 2.SocketAPI 3.面向连接的TCPSocket 4.创建服务器和客户端套接字 5.实现多线程服务端

lab-classic 实验 3 IO 多路复用

知识点: 1.Linux系统中的五种I/O模型 2.Socket阻塞与非阻塞 3.select、poll和epoll/kqueue

知识点: 1.同步阻塞方式实现爬虫 2.多线程方式实现爬虫 3.I/O异步方式实现爬虫

lab-classic 实验 5 异步协程爬虫

知识点: 1.回调的缺点 2.利用yield实现异步爬虫 3.使用yieldfrom优化爬虫

知识点: 1.常用的异步事件库Libevent、libev、libuv 2.pyuv介绍 3.pyuv实现爬虫 4.pyuv结合Futrue结构实现爬虫 5.pyuv结合Future结构和子协程实现爬虫

lab-classic 实验 7 协程框架 greenlet

知识点: 1.greenlet框架原理 2.greenlet与原生协程的区别 3.使用greenlet实现异步爬虫

lab-classic 实验 8 异步框架 gevent

知识点: 1.gevent的简单应用 2.使用greenlet实现gevent功能 3.greenlet结合pyuv实现异步爬虫

课程介绍

课程介绍

本训练课程共分为 8 个部分,分别是:

  • 协程
  • Socket 介绍
  • IO 多路复用
  • 爬虫实现
  • 异步协程爬虫
  • 异步事件
  • 协程框架 greenlet
  • 异步框架 gevent

第一部分是对 Python 协程的讲解,从字节码开始简单讲解了 Python 虚拟机的执行过程,可以大体了解到 Python 协程的执行过程。第二部分是 Python 中 CS 架构的概念讲解和套接字 Socket 的基本用途。第三部分介绍了 Linux 下的五种 I/O 模型,并且使用 Python 的 select 模块提供的接口,实现 Select,Poll,Epoll 这三种模型的服务端。 这三部分分别介绍了 Python 中的协程,Socket,异步 I/O ,介绍的知识点比较多,能够对基础知识有较深的理解 第四,五,六部分,讲解的网络爬虫,从简单的同步方法,到异步方法,最后结合协程,实现了一个即性能高又实现简单的爬虫。从简单到复杂,一步一个实现,最后完成一个性能强大的爬虫,整个的讲解比较清晰,能先循渐进的理解整个实现过程 第七,八部分讲解了 greenlet 实现协程,和 gevent 的大体结构实现。这里可以了解 gevent 的大体实现过程,对于 gevent 的执行过程有个大体的了解

为什么学这个课程

近年来 Python 的发展的非常迅速,“简单”、“高效”是 Python 吸引人的一大特色。在国内 Python 开发需求越来越大,Python 具有丰富强大的库,现在各个领域都在广泛使用,从 Web 开发,到运维开发,到机器学习,到人工智能,Python 都有广泛的应用。学习 Python 几乎可以做任何事情,对自己的编程技能会有很大的提升

Python 是一种解释性语言,语法简单易用,上手较快,代码优雅。Python 的开发效率很高,也是大多数开发选择 Python 的原因。但是 Python 的一个缺点就是性能比较差,对于 Web 开发,性能是比较重要的指标。而在解决性能方面,Python 出现了一些第三方异步网络框架,如 Tornado,Twisted,Gevent,是比较流行异步框架。在 Python 官方也正式推出了 Asyncio 库,在这个库上面也出现了大量的 Web 框架。性能方面有了很大的提升。对于做 Web 开发的人员来说,可能会用到一些异步框架,但是不理解里面的实现原理。本课程讲解 Python 异步实现,从简单的原理开始讲解,其中会涉及到很多的知识点,协程,Socket,异步 I/O,爬虫,会跟着一个一个的实验,慢慢实现一个性能强大的爬虫。

通过本课程的学习,不仅仅是让你掌握基本的 Python 异步开发,同时会了解其中的实现原理,并且会接触到 Python 字节码,协程,Socket 编程,Liunx I/O 模型,爬虫实现,Gevent 原理。你将会接触到很多的知识点,对于自己的知识面提升有很大的帮助。在以后的开发中,不仅知道实现的方法,还能知道实现的原理,这样才能更快的开发出健壮的应用。

课程特色

  • 本课程知识点较多,学习过程中,需要有一定的 Python 基础
  • 需要具有 Python 网络编程基础和爬虫基础
  • 本课程结构比较清晰,按照从易到难,循序渐进讲解整个实现过程
  • 学习后可以提升大家对于知识的理解和掌握,在以后的开发中能有更加深入的理解

实验任务

  • 协程运行原理
  • Socket 介绍
  • IO 多路复用
  • 爬虫实现
  • 异步协程爬虫
  • 异步事件
  • 协程框架 greenlet
  • 异步框架 gevent

适合人群

  • 从事 Python Web 开发的技术人员
  • 对 Python 感兴趣,想了解 Python 异步实现过程
  • 在开发过程中,想使用异步方式提升 Python 性能的开发者

课程信息

学习周期:课程有效期 2 个月,2 个月后实验文档一直可以看,但无法进行在线实验。高级会员有效期内可一直学习,高级会员到期后课程失效(不能看文档)。 课程价格:当前优惠价格 79 元。 企业团报:可获得更多支持服务,请点击购买咨询

课程教师

宋吉义 饿了么资深工程师 共发布过 1 门课程

五年以上的 Python 开发,对 Python Web 开发有深入的了解。曾参与高性能 Python 服务后端开发,解决高并发请求的性能问题。使用 Python 异步框架 Sanic 搭建微服务。github:https://github.com/songcser

查看老师的所有课程 >
实验楼楼+
实验楼会员