如何确定实际使用的是非常大的网站源中的哪些图像?

时间:2012-03-27 16:31:45

标签: html image

我最近继承了一个相当大的网站,其中包含一个巨大的,灾难性的混乱,名称不佳和有组织的图像分布在多个文件夹中,从多个位置引用。我试图整合网站的一些资产,我需要知道实际使用的数百个图像中的哪一个。其中一些可以放在图像标签中,其他可以使用css设置为背景,还有一些可以在运行时使用javascript创建。

因为图像太多了,并且因为没有可识别的命名约定(即img-asdfasd83mmd.png),并且因为版本控制系统一直存在直到我到达时包括复制现有文件而只是稍微改变了旧的名字(即img-asdfasdfasdfasf.png,img-asdfasdfasdf2.png,img-asdfasdfasdf-version4-final.png),这个任务并不像快速视觉扫描那么简单。

我正在寻找一种自动解决方案,它将扫描本网站的来源并确定正在使用哪些图像以及哪些图像不是。通过自动参考更新为站点范围的资产重命名提供某种解决方案的任何东西都会很好。谢谢!

2 个答案:

答案 0 :(得分:1)

从您描述的混乱中,我假设没有使用单一的一致系统来创建它们,所以即使有一些专门的解决方案,它们通常都是基于他们认为的创作软件在你的情况下支持,可能没有多少帮助。我也担心你可能没有一个自动化解决方案,我能想象的是一些半自动化方法。

  1. 第一步:做一个备份(你已经做了,不是吗?)。
  2. 分析那里有什么(这里是我看到你问题的地方)

    • 如果您的文件系统支持它,请扫描文件系统并归档Web服务器层次结构中所有文件的最后access time个。有可能的是,在创建它们的同时最后访问(读取)的文件是其他内容的备份副本。这首先要做,因为你自己的探索很容易修改这些日期。
    • 如果这些网页大部分是静态的,您可以通过使用wget或其他抓取工具/蜘蛛来抓取并镜像它们,从而识别出许多用于确定的图像。由此产生的图像将是最有组织的目标。其中一个自动sitemap generator tools也可能有助于此过程。
    • 可以从wget中识别webserver logs可能忽略的某些页面和图片 - 过滤掉某些unixoid操作系统上提供的文件名(您对谁要求他们不感兴趣,只有他们得到的文件名),排序,uniq(过滤掉重复项),你得到的更多,你不能删除。
    • 尝试deduplicate个文件。查找文件的重复项(例如,使用md5哈希),并将它们的使用减少到单个实例。在地理附近(文件系统方面),您可能还会发现近端欺骗,例如旧版本因次要文件名变化而抵消。
  3. 计划是否要进行杂草或重新创建网站

  4. 总而言之,您需要清除的越多,进入该项目的时间就越多。当你已经了解自己的目标时,画一条线,并决定重建整个网站是否更经济,只将所需内容迁移到一个清晰的结构中。

答案 1 :(得分:0)

您可以尝试使用A1 Website Analyzer等工具。它会显示所有图像以及它们链接和/或使用的位置。 (但是,它不会告诉你孤儿图像文件,即既不使用也不从任何地方链接的图像。)