Trích bảng HTML API

Lấy mọi bảng của trang web hoặc đoạn HTML ra JSON hoặc CSV, tự trải ô gộp (rowspan / colspan) và ghép tiêu đề nhiều dòng.

GETPOSThttps://apibox.io.vn/v1/html-tables
Nội dung & HTML▶ Dùng thử online

API trích bảng HTML biến các thẻ <table> thành dữ liệu. Đưa vào một URL hoặc html, API trả về từng bảng kèm tiêu đề bảng, id, số dòng, số cột, tên cột và các dòng dưới dạng object theo tên cột (hoặc mảng thuần với format=rows). Ô gộp được trải thành lưới đều, nên ô có rowspan="2" xuất hiện ở cả hai dòng, và tiêu đề nhiều dòng được ghép lại (“Giá / Mua”, “Giá / Bán”).

Tiêu đề được nhận từ <thead> và các dòng <th>, hoặc từ dòng đầu chứa nhãn (header=first hoặc none để chỉ định). Bảng lồng dùng để dàn trang được bỏ qua theo mặc định, min_rows loại bảng quá nhỏ và index chọn một bảng; với format=csv bảng đó được trả về dạng file CSV UTF-8 (có BOM để Excel mở đúng tiếng Việt).

Trang được tải với cùng cơ chế bảo vệ như các API web khác (không truy cập địa chỉ nội bộ, giới hạn 5 MB). Bảng do JavaScript dựng sau khi tải trang thì API không thấy.

Tham số

TênVị tríKiểuBắt buộcMặc định
urlbody|querystringkhôngURL trang (hoặc gửi html).
htmlbodystringkhôngHTML thô.
indexbody|querynumberkhôngChỉ lấy bảng này (đếm từ 0).
formatbody|querystringkhôngjsonjson, rows hoặc csv (kèm index).
headerbody|querystringkhôngautoauto, first hoặc none.
min_rowsbody|querynumberkhông1Bỏ bảng có ít dòng dữ liệu hơn.

Ví dụ

curl -X POST "https://apibox.io.vn/v1/html-tables" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"html":"<table><thead><tr><th rowspan=\"2\">Tên</th><th colspan=\"2\">Giá</th></tr><tr><th>Mua</th><th>Bán</th></tr></thead><tr><td>USD</td><td>25,380</td><td>25,790</td></tr></table>"}'

Kết quả trả về

{
  "source": null,
  "table_count": 1,
  "returned": 1,
  "tables": [
    {
      "index": 0,
      "caption": null,
      "id": null,
      "rows": 1,
      "columns": 3,
      "headers": [
        "Tên",
        "Giá / Mua",
        "Giá / Bán"
      ],
      "data": [
        {
          "Tên": "USD",
          "Giá / Mua": "25,380",
          "Giá / Bán": "25,790"
        }
      ]
    }
  ]
}

Ứng dụng

  • Lấy bảng giá, bảng tỷ giá, bảng thống kê
  • Đưa bảng từ Wikipedia vào bảng tính
  • Chuyển báo cáo HTML sang CSV cho kế toán
  • Theo dõi bảng trên website nhà cung cấp

Hỏi đáp

Ô gộp được xử lý thế nào?

Giá trị được chép vào mọi ô mà nó chiếm, nên dòng nào cũng có cùng số cột.

Có xuất CSV mở được bằng Excel không?

Có, format=csv&index=N trả về UTF-8 có BOM và xuống dòng CRLF, Excel mở giữ nguyên tiếng Việt.

Vì sao thiếu một bảng?

Có thể bảng được dựng bằng JavaScript trên trình duyệt; API đọc HTML máy chủ trả về.

API liên quan

Bắt đầu với 1.000 request miễn phí mỗi tháng. Nhận API key miễn phí →