我正试图使用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
提前感谢!
要正确下载文件,请尝试设置Referer
和User-Agent
HTTP标头(例如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)