Как правильно извлечь данные изображения с помощью 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, и это не правильный ответ. Я не очень знаком с этим.

0 ответов

Другие вопросы по тегам