首页 > 解决方案 > 我从网站上抓取图像得到了这个输出

问题描述

当我从 url 请求图像时,我正在使用此代码。

从 urllib.request 导入 urlretrieve

导入请求

image_url = "https://www.coinspot.com.au/public/img/coinmd/steem.png?v=180"

headers = {'User-Agent': 'Mozilla/5.0 (Macintosh; Intel Mac OS X 10_10_1) AppleWebKit/537.36 (KHTML, like Gecko)

Chrome/39.0.2171.95 Safari/537.36'}

响应 = requests.get(image_url, headers=headers)

打印(响应。内容)

我回来的东西看起来像这样(小样本) -

b'\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x00\x80\x00\x00\x00\x80
\x1f\xc9\x17\x1f\xc9\x17\x1f \xc9\x17\x1f\xc9\x17\x1f\xc9\x17\x1f\xc9\x c9\x17\x1f\xc9\x17\x1f\xc9\x17\x1f\xc9\x17\x1f\xc9\x17\ x1f\xc9\x17\x1f\x1f\xc9\x17\x1f\xc9\x17\x1f\xc9\x17\x1f\xc9\x17\x1f\xc9\x17\x1f\xc9\x c9\x17\x1f\xc9 \x17\x1f\xc9\x17\x1f\xc9\x17\x1f\xc9\x17\x1f\xc9\x17\x1f ca\x02\t\xc4\x05\r\xc5\n\x13\xc6\x03\ x0b\xc4\x08\x10\xc6\x0e\x17\xc7\x dc\xfd\xfd\xff\x85\x89\xe3Y_\xd9JP\xd5(0\xce\xf7\xf8\xfe\xec\xed\xfbSX

有人知道这是否可以转换为png文件吗?我不知道我在看什么。当我将输出保存到 png 文件时,它不会显示,但会收到一条消息,它太大或损坏。

标签: pythonimagescreen-scraping

解决方案


图像的十六进制

您可以像这样简单地将其写入具有 .png 扩展名的文件

data = bytes.fromhex(str(response.content)[2:])

with open('image.png', 'wb') as file:
    file.write(data)


推荐阅读