我想知道上传图片时 Facebook 和 Flicker 是如何获取图片标题的。
有两点需要注意。
- 图片标题(我们通常称之为名称)
- 图片描述.标题(您可以查看图片属性并转到详细信息,并在描述标题下看到标题,这是隐式且不可见的标题)
当我们将图片上传到 Facebook
和 Flicker
时,他们会从图片中提取此信息,并设置为标题。
我如何使用 Python/Django/PIL 做到这一点?
查找this图像为例。下载并检查其属性、详细信息、描述和标题。尝试在 Facebook
和 Flicker
上上传,他们会提取此信息。
编辑
这是显示我正在尝试的图像。看,标题字段已被填充,Facebook 正在提取此信息,但不是 Python 代码。 当我也添加主题时?(这是标题下的一个字段),我能够获得 imageDescription。 这是两张图片。
第二张图片。
图片链接
Image One(with title only)和 Image Two(with title and Subject)
注意:
当我用记事本打开文件时,我可以看到那里的描述..
<dc:description> <rdf:Alt> <rdf:li xml:lang="x-default">heeeeeeeeeeeeeeeee</rdf:li> </rdf:Alt> </dc:description>
最佳答案
你可以用 PIL 做到这一点:
from PIL import Image
img = Image.open('img.jpg')
exif_data = img._getexif()
(我从这个答案中得到:https://stackoverflow.com/a/4765242/2761986)
编辑:要获得更清晰的字典,请执行此操作(借用上面的答案):
from PIL.ExifTags import TAGS
exif = {
TAGS[k]: v
for k, v in img._getexif().items()
if k in TAGS
}
关于python - 如何在 Python/Django 中获取图片标题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22173902/