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

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

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

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

1 Ответ

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

У вас есть высокая задача, потому что есть много частей, которые вы должны решить.Для начала вот несколько советов по чтению одного 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

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

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