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 вызывает эти инструменты, захватывает их вывод и позволяет вам творить свои скриптовые чудеса.
Смотрите также
- Pup GitHub репозиторий - Документация и примеры.
- Документация Fish Shell - Узнайте больше о Fish.
- Документация Beautiful Soup - Для более сложного парсинга HTML на Python.
- Cheerio GitHub репозиторий - Для тех, кто интересуется подходом на базе JavaScript.