Python скачивает файл не полностью
Я пишу скрипт, который скачивает файл с конкретного сайта. А именно мне нужно скачать файл с расширением .img (ЭТО НЕ КАРТИНКА). Данный файл является кастомным рекавери для Android. И его вес 100-200 с лишним мегабайт. Мой скрипт умеет скачивать картинки,музыку и так далее. Но именно тот файл который мне нужен он скачивает как будто не полностью. Как минимум потому что слишком быстро для файла такого размера. Во вторых в его свойствах написано, что его размер несколько байт.
1-ый Вариант реализации моего скрипта
import requests
url = "https://eu.dl.twrp.me/gauguin/twrp-3.5.2_10-0-gauguin.img"
r = requests.get(url, stream = True)
with open('twrp-3.5.2_10-0-gauguin.img', 'bw') as f:
for chunk in r.iter_content(8192):
f.write(chunk)
2-ой вариант
from urllib.request import urlretrieve
url = 'https://eu.dl.twrp.me/gauguin/twrp-3.5.2_10-0-gauguin.img'
destination = url.rsplit('/',1)[1]
urlretrieve(url, destination)
Ответы (1 шт):
потому что просто так скачать тут файл не получится. дело не в том что requests не догружает файл. а в том что его нет.
>>> import requests
>>> r = requests.get("https://eu.dl.twrp.me/gauguin/twrp-3.5.2_10-0-gauguin.img")
>>> r.status_code
200
>>> r.text[:100]
'<!DOCTYPE html>\n<html>\n\n <head>\n <meta charset="utf-8">\n <meta '
Как ты видишь, там HTML
Чтобы все таки попасть на файл, надо заголовки настроить.
>>> r = requests.get("https://eu.dl.twrp.me/gauguin/twrp-3.5.2_10-0-gauguin.img",
headers={"Referer": "https://eu.dl.twrp.me/gauguin/twrp-3.5.2_10-0-gauguin.img"})
Как я это узнал? Посмотрел что происходит на сайте когда по ссылке тыкаешь.