一、定義一個程式開始時間
程式開始時間=time.time()
二、建立幾個網址,模拟目标網站
網址清單=['http://www.baidu.com','http://www.sogou.com','http://www.163.com']
三、建立一個函數通路網站,模拟爬取資料操作(耗時操作)
頭={
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36"
}
def 通路網站(url):
網站内容=requests.get(url=url,headers=頭).text
time.sleep(2)
print(網站内容[1:20])
四、調用函數,并擷取時長,每次程式運作時間在6-7秒之間
for 網址 in 網址清單:
通路網站(網址)
print("總耗時長:",time.time()-程式開始時間)
五、總耗時長
六、換成多線程操作
1、前三步和上面一樣
程式開始時間=time.time()
網址清單=['http://www.baidu.com','http://www.sogou.com','http://www.163.com']
頭={
"User-Agent": "Mozilla/5.0 (Windows NT 10.0; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/86.0.4240.198 Safari/537.36"
}
def 通路網站(url):
網站内容=requests.get(url=url,headers=頭).text
time.sleep(2)
print(網站内容[1:20])
2、建立一個線程,并将所有子線程放進去
線程池=[]
for 網址 in 網址清單:
線程=Thread(target=通路網站,args=(網址,))
線程池.append(線程)
線程.start()
3、讓子線程執行完畢,主程式再結束,并擷取程式運作時間
for t in 線程池:
t.join()
print("總耗時長:",time.time()-程式開始時間)
4、總耗時長在2-3秒之間,是上面的三倍