from multiprocessing.dummy import Pool
import requests
import time
start_time=time.time()
pool=Pool(5)
# 同步爬取代码
urls=['http://127.0.01:5000/bobo','http://127.0.01:5000/jay','http://127.0.01:5000/tom']
for url in urls:
page_text=requests.get(url)
print(page_text)
end_time=time.time()
t=end_time-start_time
print('同步抓取总耗时为:',t)
# 异步爬取代码
def get_request(url):
return requests.get(url)
start_time2=time.time()
pool=Pool(3)
#多线程爬取
resp_list=pool.map(get_request,urls) #注意这resp是有map() 返回的一个lsit
#多线程解析
def parse(page_text)
return '//p[@attrname="value"]'
resp=pool.map(parse,resp_list)
print('异步爬取耗时为',time.time()-start_time2)
02-12 单线程和多线程 代码实例
最新推荐文章于 2024-02-25 18:52:57 发布