Python异步IO爬虫教程——基础篇下半部分如何学习?

2026-06-10 19:187阅读0评论SEO教程
  • 内容介绍
  • 文章标签
  • 相关推荐

本文共计1214个文字,预计阅读时间需要5分钟。

Python异步IO爬虫教程——基础篇下半部分如何学习?

`asyncio` 是 Python 3.4 版本引入的标准库,直接内置了对异步IO的支持。`asyncio` 的编程模型基于消息循环,我们通过 `asyncio` 模块可以直接获取一个 `Event` 对象。

1.asyncio

​​asyncio​​是Python 3.4版本引入的标准库,直接内置了对异步IO的支持。

​​asyncio​​​的编程模型就是一个消息循环。我们从​​asyncio​​​模块中直接获取一个​​EventLoop​​​的引用,然后把需要执行的协程扔到​​EventLoop​​中执行,就实现了异步IO。

用​​asyncio​​​实现​​Hello world​​代码如下:

import asyncio

@asyncio.coroutine
def hello():
print("Hello world!")
# 异步调用asyncio.sleep(1):
r = yield from asyncio.sleep(1)
print("Hello again!")

# 获取EventLoop:
loop = asyncio.get_event_loop()
# 执行coroutine
loop.run_until_complete(hello())
loop.close()

​​@asyncio.coroutine​​​把一个generator标记为coroutine类型,然后,我们就把这个​​coroutine​​​扔到​​EventLoop​​中执行。

阅读全文

本文共计1214个文字,预计阅读时间需要5分钟。

Python异步IO爬虫教程——基础篇下半部分如何学习?

`asyncio` 是 Python 3.4 版本引入的标准库,直接内置了对异步IO的支持。`asyncio` 的编程模型基于消息循环,我们通过 `asyncio` 模块可以直接获取一个 `Event` 对象。

1.asyncio

​​asyncio​​是Python 3.4版本引入的标准库,直接内置了对异步IO的支持。

​​asyncio​​​的编程模型就是一个消息循环。我们从​​asyncio​​​模块中直接获取一个​​EventLoop​​​的引用,然后把需要执行的协程扔到​​EventLoop​​中执行,就实现了异步IO。

用​​asyncio​​​实现​​Hello world​​代码如下:

import asyncio

@asyncio.coroutine
def hello():
print("Hello world!")
# 异步调用asyncio.sleep(1):
r = yield from asyncio.sleep(1)
print("Hello again!")

# 获取EventLoop:
loop = asyncio.get_event_loop()
# 执行coroutine
loop.run_until_complete(hello())
loop.close()

​​@asyncio.coroutine​​​把一个generator标记为coroutine类型,然后,我们就把这个​​coroutine​​​扔到​​EventLoop​​中执行。

阅读全文