2016-03-03 8 views
0

У меня есть URL в Gravatar изображения какPython: Получение файла из URL и генерировать данные: URI

url = "http://www.gravatar.com/avatar/0eee0fa5a325a984dab6c1e9c7a1968f?d=retro&s=40" 

И я хочу, чтобы генерировать данные: URI для него, как в следующем питона

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAIAAAADnC86AAAAjklEQVRYhWP0E3dnIAUY9jdiFT9fWE+SOUwkqaYiGHkWs+CSQI5LUuOPGL0jL6gHzGJGYvIxrryLCxCTJkZeUI9aPGoxzQDOshoXwJVHSc3rIy+oB0dZTa32FDHmjLygHnz5GDk+KKmPcekdeUE9OPIxMsDVNiYmj462qweVxUS1q2kBRl5Qj1o8ajHNAABQ3ieujBTqugAAAABJRU5ErkJggg==

+0

Просьба указать причину этого кода. И объясните, что в настоящее время не работает для вас. – idjaw

ответ

1

Использование base64 и requests:

import base64 
import requests 

url = "https://www.gravatar.com/avatar/0eee0fa5a325a984dab6c1e9c7a1968f?d=retro&s=40" 
response = requests.get(url) 
content_type = response.headers["content-type"] 
encoded_body = base64.b64encode(response.content) 
print("data:{};base64,{}".format(content_type, encoded_body.decode())) 

Ответ:

data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACgAAAAoCAIAAAADnC86AAAAjklEQVRYhWP0E3dnIAUY9jdiFT9fWE+SOUwkqaYiGHkWs+CSQI5LUuOPGL0jL6gHzGJGYvIxrryLCxCTJkZeUI9aPGoxzQDOshoXwJVHSc3rIy+oB0dZTa32FDHmjLygHnz5GDk+KKmPcekdeUE9OPIxMsDVNiYmj462qweVxUS1q2kBRl5Qj1o8ajHNAABQ3ieujBTqugAAAABJRU5ErkJggg== 
+0

Показ ошибки 'AttributeError: 'module' объект не имеет атрибута 'encodebytes'' – Satwik

+0

Какую версию Python вы используете? –

+1

Я использую python 2.7 – Satwik