Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import sys
- import gevent
- from gevent import monkey
- gevent.monkey.patch_all(thread=False)
- import grequests
- import urllib3
- http = urllib3.PoolManager()
- def call_back(resp):
- content = resp.content
- def worker(url, use_urllib2=False):
- if use_urllib2:
- content = http.request('GET', url)
- else:
- rs = [grequests.get(u) for u in url]
- resps = grequests.map(rs)
- for resp in resps:
- call_back(resp)
- urls = ['http://www.google.com/']*50
- def by_requests():
- worker(urls)
- def by_urllib2():
- jobs = [gevent.spawn(worker, url, True) for url in urls]
- gevent.joinall(jobs)
- if __name__=='__main__':
- from timeit import Timer
- t = Timer(stmt="by_requests()", setup="from __main__ import by_requests")
- print 'by requests: %s seconds'%t.timeit(number=3)
- t = Timer(stmt="by_urllib2()", setup="from __main__ import by_urllib2")
- print 'by urllib3: %s seconds'%t.timeit(number=3)
Advertisement
Add Comment
Please, Sign In to add comment