dede图集所有图片如何批量获取?

99ANYc3cd6
预计阅读时长 11 分钟
位置: 首页 DEDE建站 正文
  1. 后台直接导出(最简单、最推荐):利用DedeCMS自带的数据库导出功能。
  2. 数据库查询(最直接、最灵活):直接在数据库中执行SQL语句来提取图片地址。

下面我将详细解释这两种方法,并提供一些高级技巧。

dede图集所有图片
(图片来源网络,侵删)

通过DedeCMS后台导出(推荐新手使用)

这种方法最安全,不需要懂代码,直接利用系统功能完成。

步骤:

  1. 登录DedeCMS后台

  2. 进入 系统 -> SQL命令行工具

    dede图集所有图片
    (图片来源网络,侵删)
  3. 在文本框中输入以下SQL语句,然后点击“查询”或“执行”。

    SELECT title, body FROM dede_addonimages;
    • title: 图集的标题。
    • body: 这是关键body 字段里存放了图集所有图片的HTML代码,通常格式如下:
      <img src='/uploads/allimg/230101/1-2301011F5160-50-lp.jpg' />
      <img src='/uploads/allimg/230101/1-2301011F5160-51-lp.jpg' />
      ...
  4. 执行查询后,你会看到一个结果列表,每一行对应一个图集,body 列包含了所有图片的 <img>

  5. 复制和提取

    • 将查询结果复制出来。
    • 使用文本编辑器(如 VS Code, Sublime Text, Notepad++)的“查找”功能,搜索 <img src='
    • 你可以编写一个简单的正则表达式来批量提取所有 src 属性中的图片路径,在支持正则的编辑器中查找: src='([^']+)'
    • 这会匹配并捕获所有单引号内的图片路径,然后你就可以将它们批量复制出来了。

优点

  • 操作简单,无需修改数据库。
  • 安全,不会误删数据。

缺点

  • 需要手动从HTML中提取路径,如果图集很多,手动操作会比较繁琐。

直接查询数据库(推荐高级用户或需要自动化脚本时)

如果你熟悉SQL,或者需要编写一个脚本来自动化这个过程,直接查询数据库是最快、最精确的方法。

DedeCMS图集的图片信息主要存储在两个表中:

  1. dede_addonimages: 存储每个图集的基本信息和所有图片的HTML代码(body字段)。
  2. dede_uploads: 存储网站上所有上传文件的独立信息,包括路径、标题等。

方案A:从 dede_addonimages 表提取(与方法一类似,但可编程化)

这个方法和方法一本质一样,但你可以用编程语言(如PHP)来处理结果。

-- 查询所有图集的ID、标题和包含图片的body内容
SELECT aid, title, body FROM dede_addonimages;

你需要用代码(例如PHP)解析 body 字段中的HTML,提取所有 src 属性的值。

方案B:从 dede_uploads 表提取(更推荐,数据更纯净)

dede_uploads 表记录了每一个独立上传的文件,对于图集中的图片,它们也作为独立的文件被记录在这里,这个方法的好处是你可以直接得到所有图片的路径,而不需要解析HTML。

步骤:

  1. 登录你的数据库管理工具(如 phpMyAdmin)。

  2. 选择你的DedeCMS数据库。

  3. 执行以下SQL查询:

    SELECT url FROM dede_uploads;
    • url 字段存储了文件的相对路径,/uploads/allimg/230101/1-2301011F5160-50-lp.jpg
  4. 执行查询,你会得到一个包含网站上所有上传文件路径的列表,这自然也包括了所有图集中的图片。

如何只获取图集图片?

dede_uploads 表没有直接的字段标记这张图片属于哪个图集,但通常图集的图片命名会有一定的规律(比如包含图集ID aid),你可以利用这一点来筛选。

假设你的图集ID是 100,你可以这样查询:

-- 查找图集ID为100的所有图片(假设图片路径中包含'100-')
SELECT url FROM dede_uploads WHERE url LIKE '%100-%';

如果你需要获取所有图集的图片,最直接的方法还是使用方案A,然后解析 body 字段。


高级技巧与注意事项

  1. 图片路径问题

    • 从数据库中获取的路径通常是相对路径(如 /uploads/...)。
    • 你需要将它与你的网站域名(如 http://www.yoursite.com)拼接起来,才能得到完整的、可访问的图片URL。
    • 拼接示例:http://www.yoursite.com + /uploads/allimg/230101/1-2301011F5160-50-lp.jpg
  2. 图片路径格式

    • 在较新版本的DedeCMS中,图片路径也可能存储在 dede_addonimages 表的 body 字段中的 data 属性里,<img data-original='...' src='...' />,如果你的查询结果为空,可以尝试修改SQL中的 img 标签匹配规则。
  3. 处理大量数据

    • 如果你的网站图集成千上万,直接在后台查询可能会导致页面卡顿或超时。
    • 推荐使用数据库管理工具(如 phpMyAdmin)来执行查询,它通常能更好地处理大量数据。
    • 你可以分批查询,例如每次只查询100条:
      SELECT aid, title, body FROM dede_addonimages LIMIT 0, 100;
  4. 备份数据库

    • 在执行任何可能修改数据库结构的操作前,务必备份数据库!查询操作是安全的,但养成好习惯总没错。
方法 优点 缺点 适用人群
后台SQL查询 安全,无需额外工具,官方支持。 需要手动从HTML中提取路径,效率低。 新手,少量数据手动处理。
数据库查询 (dede_addonimages) 可编程化处理,灵活。 需要解析HTML,对非技术人员不友好。 开发者,需要自动化脚本。
数据库查询 (dede_uploads) 数据干净,直接获取路径,无需解析。 无法直接关联到具体图集,可能包含非图集图片。 开发者,需要获取所有上传文件路径。

对于绝大多数用户来说,方法一(后台SQL查询) 是最简单直接的起点,如果你需要处理大量数据或进行自动化操作,方法二中的方案B(查询 dede_uploads 表) 会更高效。

-- 展开阅读全文 --
头像
dede如何调用随机栏目?
« 上一篇 前天
安装织梦数据库名称
下一篇 » 前天

相关文章

取消
微信二维码
支付宝二维码