使用 wget-module 从给定 link 下载 .img 文件

Download .img file from given link using wget-module

我正在尝试使用 wget module 下载 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-Agent HTTP header(使用 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 header

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)