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

python?如何使用requests下載文件

 更新時(shí)間:2022年02月12日 10:46:20   作者:阿宅gogo  
這篇文章主要介紹了python?如何使用requests下載文件,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教

使用requests下載文件

1、獲取token,或者session

如不需要可忽略

login_url = "http://xxxx/api/auth/login"
login_data = {"username":"test3","password":"123456"}
login_res = requests.post(url=login_url,data = login_data)
token = login_res.json()["data"]["token"]

2、獲取下載路徑

如果請(qǐng)求后直接返回文件內(nèi)容,可直接進(jìn)行第三步

batch_url = "http://xxxx/api/models/batch"
batch_data = {"ids":"[4]","version_number":"[309]"}
headers = {"Authorization":"bearer %s" % token}
batch_res = requests.get(url=batch_url,params=batch_data,headers=headers)

3、根據(jù)下載路徑拼接下載url

完成文件下載以及寫入

file_path = batch_res.json()['data']['file_path']
file_name = batch_res.json()['data']['file_name']
down_url = "http://xxxx/api/report/down"
down_data = {"type":2,
? ? ? ? ? ? ?"file_path":file_path,
? ? ? ? ? ? ?"file_name":file_name,
? ? ? ? ? ? ?"token":token
? ? ? ? ? ? ?}
down_res = requests.get(url=down_url,params=down_data)
with open(file_name,"wb") as code:
? ? code.write(down_res.content)

備注:

第二步返回json數(shù)據(jù),包含路徑、文件名,實(shí)際是文件生成過(guò)程,第三步下載在服務(wù)端生成的文件,有時(shí)第三步無(wú)法在頁(yè)面F12查看到,需要使用抓包工具獲取

用requests.get下載文件

不知道大家有沒(méi)有遇到這樣的問(wèn)題

就是url源不穩(wěn)定,時(shí)不時(shí)下載到空文件,我終于想到了一個(gè)解決的好辦法,分享給大家。

def downloadfile(url,filename=None):
  if(not filename):							#如果參數(shù)沒(méi)有指定文件名
    filename=os.path.basename(url)			#取用url的尾巴為文件名
  leng=1
  while(leng==1):
    torrent=requests.get(url,headers=headers)
    leng=len(list(torrent.iter_content(1024)))  #下載區(qū)塊數(shù)
    if(leng==1):								#如果是1 就是空文件 重新下載
      print(filename,'下載失敗,重新下載')
      sleep(1)
    else:
      print(path,'下載完成')
  with open(filename,'wb') as f:				
    for chunk in torrent.iter_content(1024):	#防止文件過(guò)大,以1024為單位一段段寫入
      f.write(chunk)

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • python?中raise用法

    python?中raise用法

    這篇文章主要介紹了python?中raise用法,Python?允許我們?cè)诔绦蛑惺謩?dòng)設(shè)置異常,就是使用raise?語(yǔ)句來(lái)實(shí)現(xiàn),下面我們就來(lái)看看raise的具體用法,文章內(nèi)容介紹詳細(xì),具有一定的參考價(jià)值,需要的小伙伴可以參考一下
    2021-12-12
  • python2中的中文亂碼

    python2中的中文亂碼

    這篇文章主要介紹了python2中的中文亂碼問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-06-06
  • python實(shí)現(xiàn)一個(gè)點(diǎn)繞另一個(gè)點(diǎn)旋轉(zhuǎn)后的坐標(biāo)

    python實(shí)現(xiàn)一個(gè)點(diǎn)繞另一個(gè)點(diǎn)旋轉(zhuǎn)后的坐標(biāo)

    今天小編就為大家分享一篇python實(shí)現(xiàn)一個(gè)點(diǎn)繞另一個(gè)點(diǎn)旋轉(zhuǎn)后的坐標(biāo),具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-12-12
  • Python?turtle編寫簡(jiǎn)單的球類小游戲

    Python?turtle編寫簡(jiǎn)單的球類小游戲

    turtle?(小海龜)?是?Python?內(nèi)置的一個(gè)繪圖模塊,其實(shí)它不僅可以用來(lái)繪圖,還可以制作簡(jiǎn)單的小游戲。本文將利用Turtle制作一個(gè)簡(jiǎn)單的球類小游戲,感興趣的可以學(xué)習(xí)一下
    2022-03-03
  • Pandas中常用的七個(gè)時(shí)間戳處理函數(shù)使用總結(jié)

    Pandas中常用的七個(gè)時(shí)間戳處理函數(shù)使用總結(jié)

    在零售、經(jīng)濟(jì)和金融等行業(yè),數(shù)據(jù)總是由于貨幣和銷售而不斷變化,生成的所有數(shù)據(jù)都高度依賴于時(shí)間。如果這些數(shù)據(jù)沒(méi)有時(shí)間戳或標(biāo)記,實(shí)際上很難管理所有收集的數(shù)據(jù)。本文為大家準(zhǔn)備了Pandas中常用的七個(gè)時(shí)間戳處理函數(shù),需要的可以參考一下
    2022-04-04
  • Pandas的Series結(jié)構(gòu)及常用操作實(shí)例

    Pandas的Series結(jié)構(gòu)及常用操作實(shí)例

    這篇文章主要介紹了Pandas的Series結(jié)構(gòu)及常用操作實(shí)例,Series序列,是一種一維的結(jié)構(gòu),類似于一維列表和ndarray中的一維數(shù)組,但是功能比他們要更為強(qiáng)大,Series由兩部分組成:索引index和數(shù)值values,需要的朋友可以參考下
    2023-07-07
  • Pandas如何提取非空行值

    Pandas如何提取非空行值

    這篇文章主要介紹了Pandas如何提取非空行值問(wèn)題,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-09-09
  • python使用正則表達(dá)式匹配反斜杠\遇到的問(wèn)題

    python使用正則表達(dá)式匹配反斜杠\遇到的問(wèn)題

    在學(xué)習(xí)Python正則式的過(guò)程中,有一個(gè)問(wèn)題一直困擾我,如何去匹配一個(gè)反斜杠(即“\”),下面這篇文章主要給大家介紹了關(guān)于python使用正則表達(dá)式匹配反斜杠\的相關(guān)資料,需要的朋友可以參考下
    2022-09-09
  • 使用Python發(fā)送HTML格式郵件的步驟詳解

    使用Python發(fā)送HTML格式郵件的步驟詳解

    在現(xiàn)代通信中,電子郵件是一種常見(jiàn)的溝通方式,通過(guò)Python編程語(yǔ)言,您可以使用內(nèi)置的庫(kù)來(lái)發(fā)送郵件,并在郵件中嵌入HTML內(nèi)容和圖片,本文將介紹如何使用Python發(fā)送帶有HTML格式內(nèi)容,以及涉及的步驟和代碼示例
    2023-08-08
  • Python 使用 prettytable 庫(kù)打印表格美化輸出功能

    Python 使用 prettytable 庫(kù)打印表格美化輸出功能

    這篇文章主要介紹了Python 使用 prettytable 庫(kù)打印表格美化輸出功能,本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-12-12

最新評(píng)論