今天给大家分享一下python多线程爬虫与单线程爬虫时间对比
python多线程的运行效率比单线程要快的多。
我就简单举例,假如有50个url然后要获取源代码,分别用单线程和多线程,看一直运行结束后,各用多长时间。
代码如下:
# coding:utf8
#python多线程爬虫
import requests,time
from multiprocessing.dummy import Pool as ThreadPool
def get_html(url):
html=requests.get(url).content
urls=[]
for id in range(1,51):
url="https://you.ctrip.com/asks/p%s"%id
urls.append(url)
time1=time.time()
for url in urls:
print url
get_html(url)
time2=time.time()
totalTime=time2-time1
print '单线程消耗时间为:',totalTime
pool=ThreadPool(4)
time3=time.time() #开始时间
result=pool.map(get_html,urls)
pool.close()
pool.join()
time4=time.time()#结束时间
totalTime=time4-time3
print '多线程消耗时间为:',totalTime
运行截图如下:
大家可以看到,单线程消耗时间为:31.2030000687
多线程消耗时间为:9.65499997139
多线程用时明显少了很多。
好了,今天就简单分享到这里!
李亚涛简介-一个没有才华的python程序员,关注我学习更多python知识