使用wget模块从给定链接下载.img文件



我正试图使用wget模块在python中下载一个文件。问题是,原始文件大小约为125mb,我下载的文件大小仅为~7kb

我的代码:

import wget
download_link = "https://dl.twrp.me/gauguin/twrp-3.5.2_10-0-gauguin.img"
wget.download(download_link)

输出:

100% [................................................................................] 6846 / 6846'twrp-3.5.2_10-0-gauguin.img'

文件大小:

francesco@francesco-ubuntu:~/Dokumente/GIT/python_adb$ ls -al twrp-3.5.2_10-0-gauguin.img 
-rw-rw-r-- 1 francesco francesco 6846 Feb  6 22:26 twrp-3.5.2_10-0-gauguin.img

我做错什么了吗?正如我所说,原始文件大小约为125mb,我下载的文件约为7kb

提前感谢!

要正确下载文件,请尝试设置RefererUser-AgentHTTP标头(例如requests模块(:

import requests

url = "https://dl.twrp.me/gauguin/twrp-3.5.2_10-0-gauguin.img"
headers = {
"User-Agent": "Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:96.0) Gecko/20100101 Firefox/96.0",
"Referer": "https://dl.twrp.me/gauguin/twrp-3.5.2_10-0-gauguin.img",
}
r = requests.get(url, headers=headers)
with open("twrp-3.5.2_10-0-gauguin.img", "wb") as f_out:
f_out.write(r.content)

下载文件:

-rw-r--r-- 1 root root 134217728 feb  6 22:49 twrp-3.5.2_10-0-gauguin.img

所以我找到了解决方案,但使用了request库,但我认为您将能够修复代码。

修复很容易,您只需要指定Referer标头

Referer: https://dl.twrp.me/gauguin/twrp-3.5.2_10-0-gauguin.img

所以,我的代码与requests

import requests
image_url = "https://dl.twrp.me/gauguin/twrp-3.5.2_10-0-gauguin.img"
headers = {
"Referer": "https://dl.twrp.me/gauguin/twrp-3.5.2_10-0-gauguin.img",
}
img_data = requests.get(image_url, headers=headers).content
with open('image_name.img', 'wb') as handler:
handler.write(img_data)

最新更新