Я пытаюсь загрузить файл по ссылке, используя urllib в Python 3.7, и он загружает файл HTML, а не файл изображения.
Итак, я пытаюсь получить информацию из формы Google,информация отправляется в Google Sheet.Я могу получить информацию в листе без проблем.Однако форма требует отправки изображения, которое отображается на листе в виде URL.(Пример: https://drive.google.com/open?id=1YCBmEOz6_l7WDQw5t6AYBSb9B5XXKTuX)
Это мой код:
import urllib.request
import random
Затем я создаю функцию загрузки:
def downloader(image_url):
file_name = random.randrange(1,10000)
full_file_name = str(file_name) + '.png'
print(full_file_name)
urllib.request.urlretrieve(image_url,full_file_name)
Я получаю URL и изолирую идентификаторизображения:
ImgId="https://drive.google.com/open?id=1Mp5XYoyyEfWJryz8ojLbHuZ6V0IzERIV"
ImgId=ImgId[33:]
Затем я помещаю идентификатор в ссылку для скачивания:
ImgId="https://drive.google.com/uc?authuser=0&id="+ImgId+"&export=download"
В результате (в приведенном выше примере) "https://drive.google.com/uc?authuser=0&id=1YCBmEOz6_l7WDQw5t6AYBSb9B5XXKTuX&export=download". Далее Iзапустите функцию загрузки:
downloader(ImgId)
Итак, после этого я ожидал, что файл png будет загружен в папку программы, однако он загрузил html-файл с входа на google-диск * 1024.* страница вместо файла изображения или даже html-файл изображения. Принимая во внимание, что для просмотра или загрузки изображения требуется авторизация в Google для загрузки в браузере, может ли быть проблема с авторизацией? (Примечание. ЕслиЯ вручную вставляю ссылку для скачивания, сгенерированную программой, в мой браузер, она корректно загружает изображение) (PS Я абсолютный нуб, так что да) (Заранее спасибо за любые ответы)