Как определить, какие изображения в источнике очень большого сайта на самом деле используются? - PullRequest
2 голосов
/ 27 марта 2012

Я недавно унаследовал довольно большой веб-сайт с гигантским, катастрофическим беспорядком плохо названных и организованных изображений, распределенных по нескольким папкам, на которые ссылаются из разных мест. Я пытаюсь объединить некоторые ресурсы сайта, и мне нужно знать, какие из сотен изображений на самом деле используются. Некоторые из них могут покоиться в тегах изображений, другие могут быть заданы в качестве фона с помощью CSS, а третьи могут быть созданы во время выполнения с помощью JavaScript.

Поскольку изображений очень много, а также потому, что не существует заметного соглашения об именах (например, img-asdfasd83mmd.png), а также потому, что система контроля версий, действующая вплоть до моего прибытия, состояла из дублирования существующих файлов и лишь незначительного изменения старые имена (то есть img-asdfasdfasdfasf.png, img-asdfasdfasdf2.png, img-asdfasdfasdf-version4-final.png), эта задача не так проста, как быстрое визуальное сканирование.

Я ищу автоматизированное решение, которое будет сканировать источник этого веб-сайта и определять, какие изображения используются, а какие нет. Все, что предоставляет какое-то решение для переименования ресурсов в масштабах всего сайта с автоматическим обновлением ссылок, также было бы хорошо. Спасибо!

Ответы [ 2 ]

1 голос
/ 27 марта 2012

Из описанного вами беспорядка я предполагаю, что ни одна непротиворечивая система не использовалась для их создания из первых рук, поэтому, хотя существуют некоторые специализированные решения, они, как правило, основаны на авторском программном обеспечении, которое предполагается чтобы поддержать, и, вероятно, не так много помощи в вашем случае. Я также боюсь, что не может быть единственного автоматизированного решения для вас, лучшее, что я могу себе представить, это несколько полуавтоматических подходов.

  1. Самый первый шаг: сделайте резервную копию (вы уже сделали это, не так ли?).
  2. проанализируйте, что там (вот где я вижу ваш вопрос)

    • , если ваша файловая система поддерживает это, отсканируйте файловую систему и заархивируйте последние access time всех файлов в иерархии веб-сервера. Скорее всего, файлы, к которым последний раз обращались (читали) одновременно с их созданием, являются резервными копиями чего-то еще. Это вам придется сделать в первую очередь, так как ваше собственное исследование будет склонно изменять эти даты.
    • Если эти веб-страницы в основном статические, вы можете определить многие из этих изображений, которые наверняка используются, с помощью wget или другого сканера / паука, чтобы сканировать и отражать их. Получающиеся изображения были бы самыми видными целями, чтобы быть организованными. Один из этих автоматизированных sitemap generator tools также может помочь в этом процессе.
    • Некоторые страницы и изображения, которые wget могли упускать из виду, могут быть идентифицированы из webserver logs - отфильтруйте имена файлов, подаваемые на некоторые unixoid os (вас не интересует, кто их запрашивал, только те имена файлов, которые они получили) отсортируйте их, uniq (отфильтруйте дубликаты), и вы получите больше, которые вы не можете удалить.
    • попробуйте deduplicate файлы. Найдите дубликаты файлов (например, используя хэш md5) и сократите их использование до одного экземпляра. В географической окрестности (в файловой системе) вы также можете найти почти дуплисы, такие как старые версии, смещенные незначительными изменениями имени файла.
  3. план, если вы хотите прополоть или воссоздать сайт

В целом, чем больше вам нужно отсеять, тем больше времени уходит на этот проект. Подведите черту, когда у вас есть представление о том, что вы делаете, и решите, не будет ли более экономичным переработать весь сайт, перенеся только то, что необходимо, в четкую структуру.

0 голосов
/ 28 марта 2012

Вы можете попробовать такие инструменты, как A1 Website Analyzer.Это покажет вам все изображения и откуда они связаны и / или используются.(Тем не менее, он не будет сообщать вам о бесхозных файлах изображений, то есть об изображениях, которые нигде не используются и не связаны ни с чем.)

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...