Elixir:
Разбор HTML
Как это сделать:
В Elixir вы можете анализировать HTML с помощью библиотеки Floki. Вот пример кода:
# Сначала добавьте Floki в зависимости mix.exs
{:floki, "~> 0.30.0"}
# Затем, в вашем коде
defmodule HTMLParser do
alias Floki
def parse_html(html) do
{:ok, document} = Floki.parse(html)
titles = Floki.find(document, "h1")
IO.inspect(titles, label: "Заголовки")
end
end
# Использование
html_content = "<html><body><h1>Привет, Elixir!</h1></body></html>"
HTMLParser.parse_html(html_content)
# Пример вывода
Заголовки: [{"h1", [], ["Привет, Elixir!"]}]
Подробнее
Исторически анализ HTML в таких языках, как Python или JavaScript, был более распространен, но одновременные возможности Elixir и его масштабируемость делают его сильной альтернативой для современных веб-задач. Библиотека Floki использует быстрый C-парсер fast_html для скорости, давая вам лучшее из обоих миров: одновременность Elixir и производительность компилируемого языка.
По сравнению с другими инструментами, такими как BeautifulSoup в Python, Floki менее многословен и более функционален по стилю - это хорошо сочетается с идеалами Elixir. К тому же, у вас есть вся мощь экосистемы Erlang для обеспечения отказоустойчивости и распределения, если вы думаете масштабно.
Смотрите также
- Floki на Hex - Официальная документация Floki.
- HTML5ever - Парсер HTML на Rust, который лежит в основе fast_html.