Как скачать картинку с гугл драйва

Dome4ta1

Client
Регистрация
12.08.2017
Сообщения
89
Благодарностей
15
Баллы
8
всем добрый день,


Хотел спросить если есть ссылка на гугл драйв где есть фото Картинка как можно скачать оттуда картинку? Или дайте направлению про что модно прочитать чтоб скачать картинку с такой url https://drive.google.com/file/d/ASFACa2f123ASFCWQ/view



Спасибо заранее!!1
 

semafor

Client
Регистрация
27.12.2016
Сообщения
289
Благодарностей
404
Баллы
63
Заморачиваться с авторизацией в акк google в ZP желания не было, поэтому проверял на изображении, к которому открыт доступ для всех.

Алгоритм:
1. Переходим по ссылке https://drive.google.com/file/d/ASFACa2f123ASFCWQ/view
2. На открывшейся странице ищем изображение по xpath //img[contains(@alt,'Отображается файл')], берем у этого изображения значение атрибута src в переменную проекта imgUrl.
3. Переходим по ссылке, полученной в предыдущем шаге
4. Сохраняем изображение в директорию проекта


Предположу, что если профиль из под которого будут выполняться действия будет авторизован в акк google, которому принадлежит изображение, то шарить его необязательно., по крайней мере в обычном браузере это так.
 

Вложения

  • Спасибо
Реакции: Dome4ta1

Dome4ta1

Client
Регистрация
12.08.2017
Сообщения
89
Благодарностей
15
Баллы
8
Заморачиваться с авторизацией в акк google в ZP желания не было, поэтому проверял на изображении, к которому открыт доступ для всех.

Алгоритм:
1. Переходим по ссылке https://drive.google.com/file/d/ASFACa2f123ASFCWQ/view
2. На открывшейся странице ищем изображение по xpath //img[contains(@alt,'Отображается файл')], берем у этого изображения значение атрибута src в переменную проекта imgUrl.
3. Переходим по ссылке, полученной в предыдущем шаге
4. Сохраняем изображение в директорию проекта


Предположу, что если профиль из под которого будут выполняться действия будет авторизован в акк google, которому принадлежит изображение, то шарить его необязательно., по крайней мере в обычном браузере это так.
Спасибо большое!!!
 

Dome4ta1

Client
Регистрация
12.08.2017
Сообщения
89
Благодарностей
15
Баллы
8
Заморачиваться с авторизацией в акк google в ZP желания не было, поэтому проверял на изображении, к которому открыт доступ для всех.

Алгоритм:
1. Переходим по ссылке https://drive.google.com/file/d/ASFACa2f123ASFCWQ/view
2. На открывшейся странице ищем изображение по xpath //img[contains(@alt,'Отображается файл')], берем у этого изображения значение атрибута src в переменную проекта imgUrl.
3. Переходим по ссылке, полученной в предыдущем шаге
4. Сохраняем изображение в директорию проекта


Предположу, что если профиль из под которого будут выполняться действия будет авторизован в акк google, которому принадлежит изображение, то шарить его необязательно., по крайней мере в обычном браузере это так.
к сожелению не работаеть не можеть скачать там выходил ошибка. попытался скачать с помощи

C#:
WebClient webClient = new WebClient();
byte[] dataArr = webClient.DownloadData(project.Variables["imgUrl"].Value);
//save file to local
File.WriteAllBytes(@"C:\Users\bv03a\Desktop\laziz\jooble\image\test123.png", dataArr);


webClient.Dispose();
но не помогло он скачивает но когда открываю фото выходить ошибка
99029
 

semafor

Client
Регистрация
27.12.2016
Сообщения
289
Благодарностей
404
Баллы
63
к сожелению не работаеть не можеть скачать там выходил ошибка. попытался скачать с помощи
Какую ошибку-то выдает?

Еще раз. Если профиль шаблона не залогинен в гуглодиск с которым вы будете работать, то у изображения должен быть открыт доступ:

99032


Если доступ не открыт, скачать не удастся.

Еще один нюанс — xpath, который я написал, работает если гугл открывается на русском языке. Если же язык другой, то нужно править xpath.

но не помогло он скачивает но когда открываю фото выходить ошибка
У меня все прекрасно скачалось и через webclient.

НО. По ссылке, которую вы получаете из гуглодиска вы не скачаете изображение, т.к. вам открывается не изображение, а html-страница, в теле которой есть тег img, в атрибуте src которого, мы и берем прямую ссылку на изображение. Вот после получения ссылки webclient замечательно сохраняет изображение. Т.е. алгоритм такой:

1. Переходим по ссылке полученной с гуглодиска (вида https://drive.google.com/file/d/ASFACa2f123ASFCWQ/view). Это не ссылка на изображение!!! Это страница, на которой мы возьмем прямую ссылку на изображение
2. Находим на странице прямую ссылку на изображение (вида https://lh3.googleusercontent.com/drive-viewer/nz42gbqAJc5JmT9U8BkQTWn7Z1wU5EG7N8quNBj_F8sThwfJ9mHI06y9R4_XmkTLqN2sNPeHMHLXQZQ=w1920-h937) используя xpath, сохраняем ее в переменную imgUrl
3. Скачиваем по прямой ссылке на изображение либо webclient-ом, либо как я показал ранее.

ЕСЛИ не работает, проверяйте разрешения на доступ к изображению на гуглодиске. Чтобы проверить доступ к изображению, откройте ссылку вида https://drive.google.com/file/d/ASFACa2f123ASFCWQ/view в анонимном(инкогнито) окне любого браузера. Если при открытии увидите вот такую страницу(со своим изображением, естественно):

99033


Значит доступ к нему открыт. Если увидите страницу авторизации гугл, значит доступа к изображению у анонимного пользователя нет.
 

Вложения

Последнее редактирование:
  • Спасибо
Реакции: Sergodjan и Dome4ta1

Dome4ta1

Client
Регистрация
12.08.2017
Сообщения
89
Благодарностей
15
Баллы
8
Спасибо большое тепер все понятно и все супер работаеть)
 

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)