python3.9异步爬虫的写法
时间: 2023-12-17 10:44:49 浏览: 183
Python 3.9 引入了一些新的异步编程特性,例如 `async with` 和 `async for`,可以更方便地编写异步爬虫。下面是一个简单的 Python 3.9 异步爬虫示例:
```python
import asyncio
import aiohttp
async def fetch(session, url):
async with session.get(url) as response:
return await response.text()
async def main():
async with aiohttp.ClientSession() as session:
html = await fetch(session, 'https://www.example.com')
print(html)
loop = asyncio.get_event_loop()
loop.run_until_complete(main())
```
在这个示例中,我们使用了 `async with` 来创建了一个 `aiohttp` 的异步客户端会话(`ClientSession`),然后使用 `async with` 发起了一个 GET 请求,获取了页面的 HTML 内容。最后,我们使用 `asyncio` 的事件循环来运行 `main()` 函数,获取爬取结果。
这个示例中只爬取了一个页面,如果需要爬取多个页面,可以使用 `asyncio.gather()` 函数来并发发起多个请求,提高爬取效率。
阅读全文