Cách sử dụng hàm importHTML để chuyển một bảng từ trang web HTML sang Google Sheets

Nội dung được viết bởi Bến Hà Trương

Bạn có muốn chuyển một bảng từ web HTML sang Google Sheets không? Hãy tưởng tượng bạn cần thu thập dữ liệu để báo cáo, nhưng dữ liệu của bạn chỉ có sẵn trên web và bạn cần tìm một cách thức dễ dàng để đưa dữ liệu đó vào bảng tính của mình.

Trong bài viết này chúng ta sẽ tìm hiểu một số cách khác nhau để chuyển dữ liệu từ một bảng trên trang web HTML sang Bảng tính. 

2 cách chuyển một bảng từ trang web HTML sang Google Sheets

Cách 1: Sử dụng New Web Query trong Excel

Ví dụ bạn muốn trích xuất dữ liệu từ trang web như hình bên dưới.

trích xuất dữ liệu từ trang web

Trong Excel, bạn cần làm các bước sau:

Bước 1: Mở thẻ Data, chọn Get External Data

Bước 2: Chọn From Web

Bước 3: Nhập URL trang  vào hộp thoại New Web Query

Bước 4: Nhấp nút Go

hộp thoại New Web Query

Bước 5: Di chuột lên phần dấu mũi tên màu vàng, click chọn những bản dữ liệu bạn cần:

 click chọn những bản dữ liệu bạn cần

Bước 6: Nhấp nút Import. Chọn ô bạn muốn lưu trong hộp thoại Import Data. Trong ví dụ này, chúng ta sẽ chọn ô A1

Import Data trong excel

Như vậy là bạn đã lấy được dữ liệu từ Website vào trong Excel.

Xem thêm: Unpivot Column là gì? Cách tạo Unpivot Column trong Power Query

Cách 2: Sử dụng hàm importHTML trong Google Sheets

Với ví dụ bên dưới, chúng ta sẽ sử dụng hàm importHTML (“”, ”table”, N) trong Google Sheets để chuyển một bảng từ trang web HTML sang bảng tính Google. Cả URL của trang web mục tiêu và thành phần bảng mục tiêu đều phải nằm trong dấu ngoặc kép. Số N xác định vị trí của bảng trong trang (bắt đầu đếm từ 0).

Ví dụ bạn có một bảng số liệu Danh sách các khu định cư lớn nhất của Vương quốc Anh như hình bên dưới, trên trang Wikipedia. 

bảng số liệu trên trang Wikipedia

 

Bạn cần sao chép URL của trang này, mở Bảng tính Google mới và nhập công thức “= importHTML” vào đó.

 công thức “= importHTML”

 

= ImportHtml (“ http://en.wikipedia.org/wiki/List_of_largest_United_Kingdom_settlements_by_population” ;,” table ”, 1)

Và một bảng dữ liệu xuất hiện:
 

chuyển bảng từ web sang sheets 

Với bảng dữ liệu này, bạn có thể dễ dàng vẽ một biểu đồ minh họa trong Google Sheets.

Vẽ biểu đồ trong Google sheets

Xem thêm: Cách sử dụng hàm IMPORTRANGE bảo toàn định dạng bảng tính Google Sheets

Trích xuất bảng tính Google sang nhiều định dạng khác nhau

Ở phần trên, bạn đã biết cách nhanh chóng chuyển một bảng HTML sang Sheets của mình. Thế nhưng, đây vẫn chưa là điều thú vị nhất. Với bảng tính này, bạn còn có thể suất ra dưới nhiều định dạng khác nhau.

Bạn chỉ cần click và nút Share trên thanh công cụ, sau đó chọn Publish as a web page.

suất dữ liệu web

 

Ngoài việc xuất bản bảng tính dưới dạng trang HTML mà bất kỳ ai cũng có thể xem, bạn cũng có thể truy cập vào nguồn cấp dữ liệu RSS - và một loạt các định dạng dữ liệu khác nếu muốn.

chọn định dạng dữ liệu

 

Nhấp vào liên kết các tùy chọn xuất bản khác "More publishing options" và chọn định dạng file CVS

chọn định dạng file CVS

 

Nhập file CSV vào Google sheets

 

Thật không may, các dấu * trong tên phần tử làm rối tung mọi thứ lên một chút, vì vậy hãy đổi tên chúng (đừng quên bỏ hàng ban đầu của nguồn cấp dữ liệu (cách khác, chỉnh sửa URL CSV để nó bắt đầu bằng hàng 2); Bạn cũng có thể cũng tạo nguồn cấp RSS thích hợp, bằng cách đảm bảo rằng có ít nhất một tiêu đề và phần tử mô tả trong đó:
 

tạo nguồn cấp RSS thích hợp

 

Chúng ta có thể làm cho phần mô tả này dễ nhìn hơn một chút bằng cách sử dụng biểu thức chính quy để viết lại phần tử mô tả và thực hiện một số thay đổi với khối trích xuất vị trí.

 viết lại phần tử mô tả bằng biểu thức chính quy

 

Tuy nhiên, chúng tôi khuyến khuyết bạn thay thế khối Location Builder bằng khối Loop trong Yahoo Pipes để có hiệu quả tốt hơn

khối Loop trong Yahoo Pipes

 

Location Builder sẽ tìm đến một phần tử được chỉ định cho nội dung mà chúng ta muốn mã hóa địa lý:

trình tạo vị trí đường ống yahoo

 

Khối Location Builder phải được định cấu hình để xuất kết quả được mã hóa địa lý tới phần tử y: location. LƯU Ý: mã địa lý thường giả định tên thị trấn / thành phố của Hoa Kỳ. Nếu bạn có một danh sách các tên thị trấn mà bạn biết đến từ một quốc gia nhất định, bạn có thể muốn chú thích chúng với tên quốc gia trước khi bạn cố gắng mã hóa chúng. Một khối biểu thức chính quy có thể giúp bạn thực hiện

chú thích tên quốc gia

 

Khối này cho biết - trong phần tử tiêu đề , lấy một bản sao của mọi thứ -. * - vào một biến - (. *) - và sau đó thay thế nội dung của phần tử tiêu đề bằng giá trị ban đầu - $ 1 - cũng như “, UK” - $ 1, Vương quốc Anh

Lưu ý rằng khối biểu thức chính quy này sẽ cần được đặt TRƯỚC khối Vòng lặp mã hóa địa lý. Bởi vì chúng ta muốn bộ mã hóa địa lý hoạt động trên phần tử tiêu đề có chứa “Cambridge, Vương quốc Anh” chẳng hạn, thay vì chỉ “Cambridge”. Như hình dưới dây:

Tiếp theo chúng ta lấy nguồn cấp dữ liệu KML

lấy nguồn cấp dữ liệu
 

Và đưa nó vào bản đồ Google:
 

Đưa dữ diệu vào bảng đồ google
 

Như vậy, chúng ta đã trích xuất một số dữ liệu từ trang wikipedia vào bảng tính Google bằng công thức importHTML, xuất bản một số hàng từ bảng đó dưới dạng CSV, sử dụng CSV trong Yahoo pipe và tạo nguồn cấp dữ liệu KML được mã hóa địa lý, sau đó hiển thị nó trong bản đồ Google.

Xem thêm: CÁCH SỬ DỤNG HÀM QUERY TRONG GOOGLE SHEETS

Kết luận

Hy vọng qua bài viết này, bạn đã chọn được một cách dễ dàng chuyển dữ liệu từ một bảng HTML có sẵn trên web sang bảng tính của mình. Bên cạnh đó, để không bỏ lỡ những mẹo và thủ thuật tin học văn phòng hữu ích khác, hãy tham gia Gitiho ngay hôm nay.

💥 SIÊU SALE MÙA EURO - SĂN KHÓA HỌC CÙNG GITIHO 💥

  • 👉 GIẢM TRỰC TIẾP 60% HỌC PHÍ, đồng giá các khóa học 199K - 299K - 399K
  • 👉 Áp dụng cho 200+ khóa học bán chạy nhất trên nền tảng Gitiho
  • 👉 Ưu đãi chỉ có hiệu lực với 100 đơn hàng thanh toán đầu tiên.

0/5 - (0 bình chọn)

0/5 - (0 bình chọn)

0 thảo luận

@ 2020 - Bản quyền của Công ty cổ phần công nghệ giáo dục Gitiho Việt Nam
Giấy chứng nhận Đăng ký doanh nghiệp số: 0109077145, cấp bởi Sở kế hoạch và đầu tư TP. Hà Nội
Giấy phép mạng xã hội số: 588, cấp bởi Bộ thông tin và truyền thông