用python寫個類似瀏覽器的下載器,超簡單的

以前沒有學習python時,想要下載一個網上的文件,就只能把瀏覽器打來,找到文件的下載鏈接,將地址放進去。

用python寫個類似瀏覽器的下載器,超簡單的

現在學了python後,才發現,原來下載一個東西是十分簡單的。

舉個例子吧。我們來看這張圖片和它的URL。

 這裏還是要推薦下小編的Python學習羣:483546416,不管你是小白還是大牛,小編我都歡迎,不定期分享乾貨,包括小編自己整理的一份2017最新的Python資料和0基礎入門教程,歡迎初學和進階中的小夥伴。在不忙的時間我會給大家解惑。

用python寫個類似瀏覽器的下載器,超簡單的

現在我想要下載這張圖片,其實是一件非常簡單的事,只需要簡單幾行代碼就可以了

用python寫個類似瀏覽器的下載器,超簡單的

曾經我把這個代碼演示給同學看,他說怎麼這麼麻煩,直接右鍵保存不就行了。我反問道,如果讓你下載一千一萬張圖片,你還能手動保存嗎?我們學編程的目的其中之一,就是讓電腦幫我們做煩瑣的事情。

言歸正傳,那麼怎麼寫一個下載器呢?和之前的流程一樣,先獲取URL,然後使用requests模塊下載,然後,把文件保存下來。那麼問題來了,如果我們下載的文件過大,比如我之前用多線程下載過百度網盤上的文件,效果確實很好,一個線程100kb/s,開20個線程,就可以達到2m/s,非常好用,可是遇到一個問題,就是文件過大,如果將數據,現在下載再寫入文件中,對電腦不友好,因爲這是下載的數據會先保存在內存裏,很快內存就不夠用了。

找了很久都沒有找到好的解決方法,怎麼纔可以向下載器一樣邊下載邊寫入文件呢。後再終於找到了解決方法。

用python寫個類似瀏覽器的下載器,超簡單的

只要使用iter_content方法就可一點迭代獲取數據了。

來看完整的代碼

用python寫個類似瀏覽器的下載器,超簡單的

私信下載獲取源碼

發佈了35 篇原創文章 · 獲贊 75 · 訪問量 15萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章