Elixir:
Phân Tích Cú Pháp HTML
Làm thế nào:
Trong Elixir, bạn có thể phân tích cú pháp HTML với thư viện Floki. Dưới đây là một đoạn mã:
# Đầu tiên, thêm Floki vào các phụ thuộc của mix.exs của bạn
{:floki, "~> 0.30.0"}
# Sau đó, trong mã của bạn
defmodule HTMLParser do
alias Floki
def parse_html(html) do
{:ok, document} = Floki.parse(html)
titles = Floki.find(document, "h1")
IO.inspect(titles, label: "Tiêu đề")
end
end
# Cách sử dụng
html_content = "<html><body><h1>Xin chào, Elixir!</h1></body></html>"
HTMLParser.parse_html(html_content)
# Kết quả mẫu
Tiêu đề: [{"h1", [], ["Xin chào, Elixir!"]}]
Đi Sâu Hơn
Trong lịch sử, việc phân tích cú pháp HTML trong các ngôn ngữ như Python hoặc JavaScript đã phổ biến hơn, nhưng các tính năng đồng thời và khả năng mở rộng của Elixir làm cho nó trở thành một lựa chọn mạnh mẽ cho các tác vụ web hiện đại. Thư viện Floki sử dụng trình phân tích cú pháp C fast_html ở phía dưới để tăng tốc độ, mang lại cho bạn cả hai thế giới tốt nhất: đồng thời của Elixir và hiệu suất của một ngôn ngữ được biên dịch.
So với các công cụ khác như BeautifulSoup trong Python, Floki ít dài dòng hơn và mang phong cách chức năng hơn - phù hợp với tinh thần của Elixir. Hơn nữa, bạn có toàn bộ sức mạnh của hệ sinh thái Erlang cho khả năng chống lỗi và phân phối, nếu bạn đang nghĩ lớn.
Xem thêm
- Floki trên Hex - Tài liệu chính thức của Floki.
- HTML5ever - Bộ phân tích cú pháp HTML của Rust hỗ trợ fast_html.