Как я могу составить список уникальных имен файлов изображений в наборе HTML-файлов?

У меня ~3600 html-файлов с тонной тегов изображений. Я хотел бы иметь возможность собирать все значения атрибута src, используемые в этих файлах, и объединять их в текстовый файл, где я могу затем удалить дубликаты и посмотреть, сколько всего уникальных имен файлов изображений в общем.

Я использую BBEdit, и я могу легко использовать регулярное выражение и поиск по нескольким файлам, чтобы найти все ссылки на изображения (18 673), но я не хочу заменять их чем-либо - вместо этого я хочу извлечь их из результатов поиска BBEdit ". Заметки "и вставьте их в другой файл.

Это то, что может быть AppleScripted? Или есть другие средства для той же цели, которые были бы уместны?

1 ответ

У вас есть высокая задача, потому что есть много частей, которые вы должны решить. Для начала, вот несколько советов по чтению одного html-файла и размещению всех изображений src в списке appleScript. Вы должны сделать гораздо больше, но это только начало.

Сначала вы можете прочитать html-файл в applecript как обычный текст. Примерно так получится текст одного html файла...

set theFile to choose file
set htmlText to read theFile

Когда у вас есть текст в applecript, вы можете использовать разделители текстовых элементов, чтобы получить изображения src. Вот пример. Он должен работать независимо от сложности HTML-кода...

set htmlText to "<img src=\"smiley.gif\" alt=\"Smiley face\" height=\"42\" width=\"42\" />
<img src=\"smiley.gif\" alt=\"Smiley face\" height=\"42\" width=\"42\" />
<img src=\"smiley.gif\" alt=\"Smiley face\" height=\"42\" width=\"42\" />"

set text item delimiters to "src=\""
set a to text items of htmlText
if (count of a) is less than 2 then return

set imageList to {}
set text item delimiters to "\""
repeat with i from 2 to count of a
    set thisImage to first text item of (item i of a)
    set end of imageList to thisImage
end repeat

set text item delimiters to ""
return imageList

Надеюсь, это поможет!

Другие вопросы по тегам