Как я могу составить список уникальных имен файлов изображений в наборе 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
Надеюсь, это поможет!