91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

python下載文件的三種形式介紹

發布時間:2021-09-04 09:17:46 來源:億速云 閱讀:264 作者:chen 欄目:大數據

這篇文章主要講解了“python下載文件的三種形式介紹”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“python下載文件的三種形式介紹”吧!

按照不同的情況,python下載文件可以分為三種:

  1. 小文件下載

  2. 大文件下載

  3. 批量下載

python 小文件下載

流程:使用request.get請求鏈接,返回的內容放置到變量r中,然后將r寫入到你想放的地方。

python下載文件的三種形式介紹Python小文件下載流程

以下載上述流程圖文件為例子:

python下載文件的三種形式介紹

Python文件下載

運行完畢后,它將會被保存到當前文件夾的new文件夾里。

python 大文件下載

我們在小文件下載的時候,是將文件內容暫存到變量里,大家想想,下載大文件的時候還這樣做會有什么問題?python下載文件的三種形式介紹很簡單,如果你的內存只有8G,結果要下載文件卻有10G那么大,那就肯定無法下載成功了。而且本機軟件運行占的內存也比較大,如果你的內存只有8G,實際上剩余可用的內存可能低于2G-4G. 這種情況下怎么下載大文件呢?

流式分塊下載

原理:一塊一塊地將內存寫入到文件中,以避免內存占用過大。

python下載文件的三種形式介紹

Python大文件下載流程

當設置了request.get(stream=True)的時候,就是啟動流模式下載,典型特征:在r變量的content被調用的時候才會啟動下載。代碼如下:

python下載文件的三種形式介紹

python大文件下載

Python 批量文件下載

所謂批量下載,當然不是一個一個文件的下載了,比如說我們要下載百度圖片,如果一個一個下載會出現兩種負面情況:

  1. 如果某個請求堵塞,整個隊列都會被堵塞

  2. 如果是小文件,單線程下載太慢

我們的解決方案是使用異步策略。如果你會用scrapy框架,那就輕松許多了,因為它結合了twisted異步驅動架構,根本不需要你自己寫異步。不過我們python實用寶典講的可是教程,還是跟大家說一下怎么實現異步下載python下載文件的三種形式介紹

我們需要使用到兩個包,一個是asyncio、一個是aiohttp. asyncio是Python3的原裝庫,但是aiohttp則需要各位使用cmd/Terminal打開,輸入以下命令安裝:

pip install aiohttp

注意asyncio是單進程并發庫,不是多線程,也不是多進程,單純是在一個進程里面異步(切來切去運行),切換的地方用await標記,能夠切換的函數用async標記。比如下載異步批量下載兩個圖片的代碼如下:

python下載文件的三種形式介紹

Python異步批量下載

注意: img = await session.get(url) 

這時候,在你請求第一個圖片獲得數據的時候,它會切換請求第二個圖片或其他圖片,等第一個圖片獲得所有數據后再切換回來。從而實現多線程批量下載的功能,速度超快,下載超清大圖用這個方法可以一秒一張python下載文件的三種形式介紹

感謝各位的閱讀,以上就是“python下載文件的三種形式介紹”的內容了,經過本文的學習后,相信大家對python下載文件的三種形式介紹這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

平舆县| 漯河市| 自治县| 上栗县| 天祝| 蓝山县| 赤城县| 习水县| 沧州市| 灌南县| 方城县| 镇远县| 浪卡子县| 富裕县| 木兰县| 晋城| 丹东市| 尚义县| 鞍山市| 科技| 康乐县| 清新县| 白城市| 睢宁县| 搜索| 石棉县| 南京市| 平安县| 阳新县| 卢龙县| 郁南县| 工布江达县| 连平县| 西乡县| 多伦县| 大冶市| 宁明县| 霍城县| 江阴市| 通化县| 苍南县|