Как правильно извлечь данные изображения с помощью Pycurl?
Поэтому я сделал свою функцию, чтобы получить изображение из URL-адреса, и я использую PycURL
def saveImage(self,fname,url):
buffer = BytesIO()
c = pycurl.Curl()
c.setopt(c.URL, url)
c.setopt(c.WRITEDATA, buffer)
c.setopt(c.FOLLOWLOCATION, True)
#c.setopt(c.COOKIEJAR, 'fbcookie.txt')
#c.setopt(c.COOKIEFILE, 'fbcookie.txt')
#c.setopt(c.USERAGENT, self.userAgent)
c.perform()
c.close()
body = str(buffer.getvalue())
f = open('post-assets/'+fname,'w')
f.write(body)
f.close()
Хорошо, это работает нормально, но значение переменной "body" выглядит так
\xff\xd8\xff\xe0\x00\x10JFIF\x00\x01\x01\x00\x00\x01\x00\x01\x00\x00\xff\xed
и так далее. В официальной документации PycURL сказано
В Python 3 PycURL отвечает телом ответа в виде байтовой строки. Это удобно, если мы загружаем двоичный файл, но для текстовых документов мы должны декодировать строку байтов. В приведенном выше примере мы предполагаем, что тело закодировано в ISO-8859-1.
Как правильно декодировать изображение? Я пытался использовать функцию декодирования с iso-8859-1, и это не правильный ответ. Я не очень знаком с этим.