今天我很好奇我是如何在博客上使用图像的替代文本的,并意识到由于我在这个网站上运行了Django SQL Dashboard ,并且 PostgreSQL 能够使用正则表达式解析 HTML,所以我可能可以使用 SQL 查询找到答案。
我将PostgreSQL 模式粘贴到 Claude 中,并给出了一个相当长的提示:
给定这个 PostgreSQL 模式,我想要一个返回我的所有图像及其替代文本的查询。图像有时存储为 HTML 图像标签,有时存储为 Markdown。
blog_quotation.quotation
,blog_note.body
都包含 markdown。如果use_markdown
为 true,则blog_blogmark.commentary
为 markdown,否则为 HTML。blog_entry.body
始终是 HTML编写一个 SQL 查询,使用正则表达式提取所有图像及其 alt 标签。在 HTML 文档中,它应该查找
<img .* src="..." .* alt="..."
或<img alt="..." .* src="..."
(图像在某些地方可能是自闭合 XHTML 样式)。在 Markdown 中,它们始终是
我希望生成的表具有三列:URL、alt_text、src – URL 列需要构造为
/2025/Feb/2/slug
,用于创建于 2025 年 2 月 2 日创建的记录,并且slug
列包含slug
在适当的情况下使用 CTE 和联合
它几乎一开始就成功了,通过几个后续提示,我得到了我想要的查询。我还添加了搜索替代文本/图像 URL 的选项,这已经帮助我搜索并修复了过期域名上的一些旧图像。这是已完成的 100 行 SQL 查询的副本。
标签: django-sql-dashboard 、 sql 、 claude 、 ai 、 llms 、 ai 辅助编程、生成式 ai 、 alt-text 、可访问性、 postgresql
原文: https://simonwillison.net/2025/Apr/28/dashboard-alt-text/#atom-everything