我试图制作一个简单的程序从网站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()
答案 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()