最近在知识星球:Python读者圈,遇到读者提问:Python爬虫如何加速?
这个问题涉及到一个爬虫里,甚至是整个Python编程里都非常重要的问题:
如果同时下载1w张图片,如何有效地加速程序运行,缩短下载时间?
今天我们一起来看一下常用的解决方案。
1、为什么慢?
首先我们先看一下,原来的代码里,是什么原因导致程序慢的? 下面是代码和运行结果:
import office
for i in range(1, 18):
url = 'https://www.python-office.com/api/img-cdn/test/spider/{}.jpg'.format(str(i))
office.image.down4img(url, output_name=str(i))
顺序执行看起来很完美,但是完美的背后是不是有陷阱呢?
为了更好的理解这个代码,我们先举一个例子:你面前有10台洗衣机编号是从1到10,里面转满了衣服需要你清洗,有的脏可能要强力洗洗的久,有的干净只需要速洗洗的快。
清洗以后,需要你记录下他们的清理顺序,有下列2种方案供你选择:
一个挨一个的洗完。
先启动洗衣机1号&#