从网站打开图像

时间:2018-02-21 22:27:41

标签: python-3.x image-processing python-requests

我试图制作一个简单的程序从网站xkcd.com中提取图像,我似乎遇到了一个问题,它返回列表对象没有属性显示。任何人都知道如何解决这个问题?

import requests
from lxml import html

r = requests.get("http://imgs.xkcd.com/comics/self_driving_issues.png")
tree = html.fromstring(r.content)
final = tree.xpath("""//*[@id="comic"]/img""")
final.show()

1 个答案:

答案 0 :(得分:3)

您对requests.get的调用是检索实际图像,即png的字节代码。使用xpath解析或搜索没有html。

请注意,内容是字节:

r = requests.get("http://imgs.xkcd.com/comics/self_driving_issues.png")
print(r.content)

b'\x89PNG\r\n\x1a\n\x00\x00\x00\rIHDR\x00\x00\x02\xe4\x00\x00\x01#\x08\x03\x00\x00\x00M\x7f\xe4\xc6\x00\x00\x00\x04gAMA\x00\x00\xb1\x8f

您可以在此处看到可以将结果直接保存到磁盘。

import requests

r = requests.get("http://imgs.xkcd.com/comics/self_driving_issues.png")
with open("myimage.png", "wb") as f:
    f.write(r.content)

[编辑]并显示图片(您需要安装pillow。)

import requests
from PIL import Image
import io

r = requests.get("http://imgs.xkcd.com/comics/self_driving_issues.png")

img = Image.open(io.BytesIO(r.content))
img.show()