欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

python 并發(fā)下載器實現(xiàn)方法示例

 更新時間:2019年11月22日 08:38:01   作者:小飛俠v科比  
這篇文章主要介紹了python 并發(fā)下載器實現(xiàn)方法,結合實例形式詳細分析了并發(fā)下載器相關原理及Python并發(fā)下載視頻的相關操作技巧,需要的朋友可以參考下

本文實例講述了python 并發(fā)下載器實現(xiàn)方法。分享給大家供大家參考,具體如下:

并發(fā)下載器

并發(fā)下載原理

from gevent import monkey
import gevent
import urllib.request
# 有耗時操作時需要
monkey.patch_all()
def my_downLoad(url):
  print('GET: %s' % url)
  resp = urllib.request.urlopen(url)
  data = resp.read()
  print('%d bytes received from %s.' % (len(data), url))
gevent.joinall([
    gevent.spawn(my_downLoad, 'http://www.baidu.com/'),
    gevent.spawn(my_downLoad, 'http://www.itcast.cn/'),
    gevent.spawn(my_downLoad, 'http://www.itheima.com/'),
])

運行結果

GET: http://www.baidu.com/
GET: http://www.itcast.cn/
GET: http://www.itheima.com/
111327 bytes received from http://www.baidu.com/.
172054 bytes received from http://www.itheima.com/.
215035 bytes received from http://www.itcast.cn/.

從上能夠看到是先發(fā)送的獲取baidu的相關信息,然后依次是itcast、itheima,但是收到數(shù)據(jù)的先后順序不一定與發(fā)送順序相同,這也就體現(xiàn)出了異步,即不確定什么時候會收到數(shù)據(jù),順序不一定

實現(xiàn)多個視頻下載

from gevent import monkey
import gevent
import urllib.request
#有IO才做時需要這一句
monkey.patch_all()
def my_downLoad(file_name, url):
  print('GET: %s' % url)
  resp = urllib.request.urlopen(url)
  data = resp.read()
  with open(file_name, "wb") as f:
    f.write(data)
  print('%d bytes received from %s.' % (len(data), url))
gevent.joinall([
    gevent.spawn(my_downLoad, "1.mp4", 'http://oo52bgdsl.bkt.clouddn.com/05day-08-%E3%80%90%E7%90%86%E8%A7%A3%E3%80%91%E5%87%BD%E6%95%B0%E4%BD%BF%E7%94%A8%E6%80%BB%E7%BB%93%EF%BC%88%E4%B8%80%EF%BC%89.mp4'),
    gevent.spawn(my_downLoad, "2.mp4", 'http://oo52bgdsl.bkt.clouddn.com/05day-03-%E3%80%90%E6%8E%8C%E6%8F%A1%E3%80%91%E6%97%A0%E5%8F%82%E6%95%B0%E6%97%A0%E8%BF%94%E5%9B%9E%E5%80%BC%E5%87%BD%E6%95%B0%E7%9A%84%E5%AE%9A%E4%B9%89%E3%80%81%E8%B0%83%E7%94%A8%28%E4%B8%8B%29.mp4'),
])

上面的url可以換為自己需要下載視頻、音樂、圖片等網(wǎng)址

更多關于Python相關內(nèi)容可查看本站專題:《Python Socket編程技巧總結》、《Python數(shù)據(jù)結構與算法教程》、《Python函數(shù)使用技巧總結》、《Python字符串操作技巧匯總》、《Python入門與進階經(jīng)典教程》及《Python文件與目錄操作技巧匯總

希望本文所述對大家Python程序設計有所幫助。

相關文章

  • python 讀取dicom文件,生成info.txt和raw文件的方法

    python 讀取dicom文件,生成info.txt和raw文件的方法

    今天小編就為大家分享一篇python 讀取dicom文件,生成info.txt和raw文件的方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2019-01-01
  • Python數(shù)據(jù)分析應用之Matplotlib數(shù)據(jù)可視化詳情

    Python數(shù)據(jù)分析應用之Matplotlib數(shù)據(jù)可視化詳情

    這篇文章主要介紹了Python數(shù)據(jù)分析應用之Matplotlib數(shù)據(jù)可視化詳情,文章圍繞主題展開詳細的內(nèi)容介紹,具有一定的參考價值,感興趣的小伙伴可以參考一下
    2022-06-06
  • 跟老齊學Python之畫圈還不簡單嗎?

    跟老齊學Python之畫圈還不簡單嗎?

    畫圈?換一個說法就是循環(huán)。循環(huán),是高級語言編程中重要的工作。現(xiàn)實生活中,很多事情都是在循環(huán),日月更迭,斗轉(zhuǎn)星移,無不是循環(huán);王朝更迭,尋常百姓,也都是循環(huán)。
    2014-09-09
  • Python中的functools partial詳解

    Python中的functools partial詳解

    這篇文章主要介紹了Python中functools partial詳解,本文通過示例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-01-01
  • Tensorflow之梯度裁剪的實現(xiàn)示例

    Tensorflow之梯度裁剪的實現(xiàn)示例

    這篇文章主要介紹了Tensorflow之梯度裁剪的實現(xiàn)示例,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-03-03
  • Python實現(xiàn)的插入排序算法原理與用法實例分析

    Python實現(xiàn)的插入排序算法原理與用法實例分析

    這篇文章主要介紹了Python實現(xiàn)的插入排序算法原理與用法,簡單描述了插入排序的原理,并結合實例形式分析了Python實現(xiàn)插入排序的相關操作技巧,需要的朋友可以參考下
    2017-11-11
  • python 無監(jiān)督生成模型的示例

    python 無監(jiān)督生成模型的示例

    無監(jiān)督生成模型在機器學習中扮演著重要角色,特別是當我們在沒有標簽數(shù)據(jù)的情況下想要生成新的樣本或理解數(shù)據(jù)的內(nèi)在結構時,這篇文章主要介紹了python 無監(jiān)督生成模型的示例,需要的朋友可以參考下
    2024-07-07
  • python添加命令行參數(shù)的詳細過程

    python添加命令行參數(shù)的詳細過程

    Click 是 Flask 的開發(fā)團隊 Pallets 的另一款開源項目,它是用于快速創(chuàng)建命令行的第三方模塊,這篇文章主要介紹了python怎么添加命令行參數(shù),需要的朋友可以參考下
    2023-06-06
  • 在Django的form中使用CSS進行設計的方法

    在Django的form中使用CSS進行設計的方法

    這篇文章主要介紹了在Django的form中使用CSS進行設計的方法,Django是Python重多人氣開發(fā)框架中最為著名的一個,需要的朋友可以參考下
    2015-07-07
  • PyQt5每天必學之拖放事件

    PyQt5每天必學之拖放事件

    這篇文章主要為大家詳細介紹了PyQt5每天必學之拖放事件的相關資料,文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-04-04

最新評論