zoukankan      html  css  js  c++  java
  • day 32-2 练习

    基于 requests 实现简单线程池的运用

    from concurrent.futures import ThreadPoolExecutor
    import requests
    
    
    def gets(url):
        print('正在获取 %s' % url)
        info = requests.get(url)
        num = len(info.text)
        return {'url': url, 'num': num}
    
    
    def ret(info):
        info = info.result()
        print('%s 的长度为 %s' % (info['url'], info['num']))
    
    
    if __name__ == '__main__':
        url = ['https://www.cnblogs.com/ysging/p/12339912.html',
               'https://www.cnblogs.com/ysging/p/12329308.html',
               'https://www.cnblogs.com/ysging/p/12319763.html']
        t = ThreadPoolExecutor(2)
        for i in url:
            t.submit(gets, i).add_done_callback(ret)
    
    # 执行结果
    # 正在获取 https://www.cnblogs.com/ysging/p/12339912.html
    # 正在获取 https://www.cnblogs.com/ysging/p/12329308.html
    # https://www.cnblogs.com/ysging/p/12329308.html 的长度为 41115
    # 正在获取 https://www.cnblogs.com/ysging/p/12319763.html
    # https://www.cnblogs.com/ysging/p/12339912.html 的长度为 53267
    # https://www.cnblogs.com/ysging/p/12319763.html 的长度为 30937
  • 相关阅读:
    2020.11.17
    2020.11.26
    2020.11.18
    2020.12.01
    2020.11.23
    Java编程规范
    20201003 千锤百炼软工人
    2020081920200825 千锤百炼软工人
    20201004 千锤百炼软工人
    20200929 动手动脑
  • 原文地址:https://www.cnblogs.com/ysging/p/12348661.html
Copyright © 2011-2022 走看看