日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

用Python下载文件

發布時間:2023/12/13 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 用Python下载文件 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

前提條件

需要事先安裝requests模塊:

  • pip install requests

放碼過來

import requestsurl = 'XXX' #文件下載來源URL filename = '' #下載到本地后新文件名 r = requests.get(url) with open(filename, "wb") as code:code.write(r.content)

實戰演習

從目標URL大電影雙語閱讀.星際穿越 Interstellar (贈英文音頻與單詞隨身查APP)下載音頻文件。


通過瀏覽器后臺分析,可找到音頻的URL。


其實通過瀏覽器自帶下載功能,應該很容易下載到本地。


但是,屢試不行。


于是,尋思著,同一瀏覽器,同樣請求URL,為何卻得不到想要的結果?

嘗試在地址欄輸入音頻的URL。

Access Denied, You are denied by bucket referer policy.

看到被拒的信息后,聯想到會不會是請求頭的緣故呢?


于是,瀏覽器后臺查找音頻URL的請求頭。

有可能是下載器發出請求時沒要帶上Referer等參數而被拒絕連接。


是時候發揮Python的強大功力了,在請求下載時請求頭帶上Referer等參數。

headers={"Referer": "http://www.ecustpress.cn/erweima/player.html?blid=11089","Accept-Encoding":"identity;q=1, *;q=0","User-Agent":"Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36","Range":"bytes=0-" }res = requests.get(url % (i + 1), headers=headers)

另外還發現,目標URL中的所有音頻URL尾有很明顯的規律:1.mp3、2.mp3、3.mp3…、37.mp3。

于是,一鼓作氣將它們下載到本地。

綜上所述,最終代碼:

import requests import os import time import randomurl = "http://hldqrcode1.oss-cn-shanghai.aliyuncs.com/wapaudio/56474/%d.mp3"headers={ "Referer": "http://www.ecustpress.cn/erweima/player.html?blid=11089", "Accept-Encoding":"identity;q=1, *;q=0", "User-Agent":"Mozilla/5.0 (Windows NT 6.1; WOW64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/78.0.3904.108 Safari/537.36", "Range":"bytes=0-" }for i in range(37):fileName = ("0" if i + 1 < 10 else "") + ("%d.mp3" % (i + 1))if os.path.exists(fileName):continueprint "Download %s" % fileNametry:res = requests.get(url % (i + 1), headers=headers)with open(fileName, "wb") as code:code.write(res.content)time.sleep(10 * random.random())except Exception as err:print "Something wrong happens when downloading %s" % fileNameprint err

碼到功成!

參考資料

  • python下載文件的三種方法

  • Python——爬蟲【Requests設置請求頭Headers】

  • 總結

    以上是生活随笔為你收集整理的用Python下载文件的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。