gevent:爬虫小脚本

# __author: "ZXYang"
# date: 2020/5/21
import time
import gevent
from gevent import monkey;

monkey.patch_all()
from urllib.request import urlopen

"""
协程
monkey.patch_all(): 不能和多线程一起使用

"""


def f(url):
print('GET: %s' % url)
resp = urlopen(url)
data = resp.read()
print('%d bytes from received %s' % (len(data), url))

with open('pa02.html', 'wb')as f:
f.write(data)


s_time = time.time()
gevent.joinall([
gevent.spawn(f, 'https://www.python.org/'), # f(url): 传参
gevent.spawn(f, 'http://www.baidu.com/'),
gevent.spawn(f, 'http://github.com/'),
])

# gevent.joinall([
# gevent.spawn(f, 'https://www.python.org/'),
# gevent.spawn(f, 'http://www.baidu.com/'),
# gevent.spawn(f, 'http://github.com/'),
# ])
e_time = time.time()
print(f'共消耗时间:{e_time - s_time}')
posted @ 2020-12-23 21:08  zxy_ang  阅读(144)  评论(0)    收藏  举报