Fish Shell:
Разбор HTML

Как это сделать:

Fish Shell не является главным инструментом для парсинга HTML, но с правильными инструментами это выполнимо. Давайте подключим pup, командный парсер HTML, для работы с HTML-содержимым.

# Сначала установим pup
brew install pup

# Извлечем заголовок с example.com
curl -s http://example.com | pup 'title text{}'

# Вывод должен быть названием сайта, например:
# Example Domain

Теперь давайте заберем все гиперссылки:

# Извлечем ссылки (атрибуты href) с example.com
curl -s http://example.com | pup 'a attr{href}'

# Пример вывода:
# http://www.iana.org/domains/example

Погружение

До появления Fish Shell и pup люди использовали неуклюжие регулярные выражения или сложные серверные скрипты. Инструменты типа pup усовершенствовали процесс, опираясь на синтаксис CSS-селекторов для более интуитивного и надежного парсинга.

Альтернативы включают Beautiful Soup на Python или Cheerio с Node.js; они более мощные, но не такие лаконичные для однострочников.

Парсинг HTML с помощью Fish сводится к передаче задачи специализированным инструментам из-за его ограниченных возможностей манипулирования текстом. Fish вызывает эти инструменты, захватывает их вывод и позволяет вам творить свои скриптовые чудеса.

Смотрите также