亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

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

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

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

伊宁县| 确山县| 长岛县| 涟水县| 南溪县| 广饶县| 监利县| 明光市| 满洲里市| 马鞍山市| 壶关县| 固始县| 秦安县| 成武县| 佳木斯市| 绍兴市| 卢龙县| 苍山县| 甘洛县| 昌平区| 买车| 行唐县| 裕民县| 江川县| 甘孜县| 修武县| 沂源县| 南和县| 镇巴县| 岳阳市| 清河县| 赣州市| 马公市| 当涂县| 镇宁| 福州市| 珠海市| 和林格尔县| 望城县| 合作市| 津南区|