Python 下载文件 (requests)
2022-05-26
直接上代码吧
import requests #其中 D:index.html 是下载存储的绝对路径 downurl = "http://www.anyuer.club" r = requests.get(downurl,stream=True) with open(r"D:index.html" , "wb") as f: for chunk in r.iter_content(chunk_size=512): f.write(chunk) print("download over!")
但是问题来了如果部分下载链接是需要用到请求头才下载的呢?
import requests url = "http://bt.000dyun.com/XUEHOST/webbak.html" querystring = {"a":"show","m":"cp"} payload = "" headers = { 'Host': "bt.000dyun.com", 'Accept': "text/html,application/xhtml+xml,application/xml;q=0.9,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.9", 'Referer': "http://bt.000dyun.com/XUEHOST/webbak.html?a=show&m=cp", 'Cookie': "PHPSESSID="+ str(phpsid[0]), 'Accept-Encoding': "gzip, deflate", 'cache-control': "no-cache", 'Postman-Token': "d05ab330-d295-4d33-af86-89beaf8efcf7" } response = requests.request("GET", url, data=payload, headers=headers, params=querystring) #print(response.text) name = input("Please input filename:") downloadurl = re.findall('a href="(.*?)" target="_blank" style="color:green" >下载</a>',response.text) #print(downloadurl) downurl = "http://bt.000dyun.com/XUEHOST/webbak.html?a=show&m=cp" + downloadurl[0] #print(downurl) #开始下载文件即可 r = requests.get(downurl, data=payload, headers=headers, params=querystring ,stream=True) with open(r"C:\Users\YuEr\Desktop\科技常用系列\博客\\" + name , "wb") as f: for chunk in r.iter_content(chunk_size=512): f.write(chunk) print("download over!")
发表评论: