情景分析
在大家初识Python时,一定接触到了json这个模块,这个模块可以对基本的Python对象层次结构进行编码和对json数据进行解码,可以说json模块在爬虫领域处理json数据非常好用。
但是在某一天我意识到json模块的效率非常的慢,在处理一个非常简单的json数据时表现出来的效率是非常低的,因为工作的需要,我不得不另辟蹊径,寻找一种更好的方法来解决我遇到的问题。
根源
大家都知道,Python这门编程语言是C语言编写的,Python可以调用C或C++编写的代码,并且C和C++的代码的效率要比Python高得多,那么我就从底层分析,解决json模块效率低下的问题。
问题解决
通过分析发现json模块就是使用Python代码编写的,效率低的原因找到了,那么我们需要找一个能够代替json模块的方法,通过查询资料发现,已经有一个C语言编写的Python三方模块ujson解决了这个问题。那么我们来看下ujson与json相比带来的提升。
一较高下
安装ujson模块:**pip install ujson
**
首先,我们先来编写一个能够测试程序运行时间的装饰器。
python
import time
def run_time(func):
def inner(*args, **kwargs):
start_time = time.time()
result = f