python - 如何在 Python/Django 中获取图片标题

标签 python django image python-imaging-library

我想知道上传图片时 Facebook 和 Flicker 是如何获取图片标题的。

有两点需要注意。

  1. 图片标题(我们通常称之为名称)
  2. 图片描述.标题(您可以查看图片属性并转到详细信息,并在描述标题下看到标题,这是隐式且不可见的标题)

当我们将图片上传到 FacebookFlicker 时,他们会从图片中提取此信息,并设置为标题。

我如何使用 Python/Django/PIL 做到这一点?

查找this图像为例。下载并检查其属性、详细信息、描述和标题。尝试在 FacebookFlicker 上上传,他们会提取此信息。


编辑

这是显示我正在尝试的图像。看,标题字段已被填充,Facebook 正在提取此信息,但不是 Python 代码。 当我也添加主题时?(这是标题下的一个字段),我能够获得 imageDescription。 这是两张图片。

enter image description here

第二张图片。

enter image description here

图片链接

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/

相关文章:

html - 在 Jupyter 中使用 css 并排调整不同尺寸的图像

python - 没有名为 'matplotlib.artist' 的模块

python - 了解装饰器的闭包

django - 在没有 worker 的情况下运行 celery 任务

javascript - $.get() 加载的图像不显示

android - 如何仅从 DCIM 目录获取图像选择器

python - pip install mysql-python 失败并出现环境错误 : mysql_config not found

python - 如何将列表转换为查询集 Django

django - 将 postgresql 索引转换为 Django 迁移

python - 哪个 Django 表单字段可以为我提供 &lt;input type ="range"/> 的 HTML 输出?