httpx框架异步爬虫代码
时间: 2023-08-31 17:12:04 浏览: 168
下面是一个使用httpx框架实现异步爬虫的示例代码:
```python
import asyncio
import httpx
async def fetch(url):
async with httpx.AsyncClient() as client:
response = await client.get(url)
return response.text
async def main():
urls = ['https://www.example.com', 'https://www.example.net', 'https://www.example.org']
tasks = [asyncio.create_task(fetch(url)) for url in urls]
for task in asyncio.as_completed(tasks):
result = await task
print(result)
if __name__ == '__main__':
asyncio.run(main())
```
在上面的代码中,我们定义了一个名为fetch的异步函数,该函数用于执行GET请求并返回响应的内容。我们还定义了一个名为main的异步函数,该函数用于创建多个任务并等待所有任务完成。在main函数中,我们首先定义了一个包含多个URL的列表,然后使用列表推导式创建了一个包含多个任务的列表。接着,我们使用asyncio.as_completed函数等待所有任务完成,并逐个输出每个任务的结果。
使用httpx框架编写异步爬虫可以提高爬取效率,同时还能够更好地处理HTTP请求和响应。
阅读全文