如何使用 httplib 下载图像?

How to download an image with httplib?

如果我有直接 link 图片,我该如何正确下载它?

conn = httplib.HTTPConnection("URL_BASE")
conn.request("GET", "/REST_OF_THE_URL.jpg", "", headers)
page = conn.getresponse()
page = page.read()
fail = open("image.jpg", "w")
fail.write(page)
fail.close()

这种方法成功了,但是数据有问题,因为图像通常看起来很损坏。所以我假设在某处有一些不属于图像的额外数据,但我不知道如何识别它也不知道如何删除它。

您需要以 binary 模式打开图像:

fail = open("image.jpg", "wb")

或恰好出现在您的数据流中的行分隔符将被转换为您的平台标准(因此 \r\n 将替换为 \r)。