神器啊!比requests还好用的Python高效爬虫框架

本文介绍了Python协程的概念及其优势,包括减少上下文切换、节省内存和提高执行效率。通过对比requests库,文章引出httpx这一支持异步HTTP请求的库,展示了httpx如何通过异步请求大幅降低批量HTTP请求的耗时,从而提升爬虫效率。通过实际示例,证明了使用协程和httpx在接口测试和爬虫领域的高效性能。
摘要由CSDN通过智能技术生成

最近公司  Python 后端项目进行重构,整个后端逻辑基本都变更为采用"异步"协程的方式实现。看着满屏幕经过 async await(协程在 Python 中的实现)修饰的代码,我顿时感到一脸懵逼,不知所措。

虽然之前有了解过"协程"是什么东西,但并没有深入探索,于是正好借着这次机会可以好好学习一下。

Let's go

什么是协程?

简单来说,协程是一种基于线程之上,但又比线程更加轻量级的存在。对于系统内核来说,协程具有不可见的特性,所以这种由 程序员自己写程序来管理 的轻量级线程又常被称作 "用户空间线程"。

协程比多线程好在哪呢?

1. 线程的控制权在操作系统手中,而协程的控制权完全掌握在用户自己手中,因此利用协程可以减少程序运行时的上下文切换,有效提高程序运行效率。

2. 建立线程时,系统默认分配给线程的大小是 1 M,而协程更轻量,接近 1 K ,因此可以在相同的内存中开启更多的协程。

3. 由于协程的本质不是多线程而是单线程,所以不需要多线程的锁机制。因为只有一个线程,也不存在同时写变量而引起的冲突。在协程中控制共享资源不需要加锁,只需要判断状态即可。所以协程的执行效率比多线程

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值