index
- Chỉ mục, bắt đầu từ 1
, xác định bảng hoặc danh sách nào được xác định trong nguồn HTML sẽ được trả về
- Các chỉ mục cho danh sách và bảng được duy trì riêng biệt, vì vậy có thể có cả danh sách và bảng có chỉ mục
1
nếu cả hai loại phần tử đều tồn tại trên trang HTML
Xem thêm
IMPORTHTML[A2,B2,C2]
0. Nhập dữ liệu từ bất kỳ loại dữ liệu có cấu trúc nào bao gồm các nguồn cấp dữ liệu XML, HTML, CSV, TSV và RSS và ATOM XML
IMPORTHTML[A2,B2,C2]
1. Nhập một dải ô từ một bảng tính cụ thể
IMPORTHTML[A2,B2,C2]
2. Nhập nguồn cấp dữ liệu RSS hoặc ATOM
IMPORTHTML[A2,B2,C2]
3. Nhập dữ liệu tại một url nhất định trong. csv [giá trị được phân tách bằng dấu phẩy] hoặc. định dạng tsv [giá trị được phân tách bằng tab]
Google Sheets cung cấp một chức năng gọi là ImportHTML để nhập dữ liệu từ một bảng hoặc danh sách trong trang HTML. Bạn có thể sử dụng chức năng này để tự động lấy dữ liệu vào Google Sheet rồi vào Geckoboard
Bước đầu tiên là lấy dữ liệu bạn cần trong Google Trang tính bằng cách sử dụng ImportHTML. Khi ở đó, bạn chỉ cần sử dụng nguồn dữ liệu Bảng tính của chúng tôi để hiển thị nó trên bảng điều khiển Geckoboard của bạn. Bài viết này tập trung vào bước đầu tiên
Để nhập dữ liệu từ một bảng hoặc danh sách trong một trang web vào Google Trang tính bằng chức năng ImportHTML, dữ liệu cần phải được
Sẵn có trên lần tải đầu tiên của trang web
Có sẵn công khai [điều này có nghĩa là không yêu cầu ủy quyền và/hoặc thông tin đăng nhập]
Ngoài ra, nếu bạn cảm thấy thoải mái khi sử dụng các công cụ dành cho nhà phát triển của trình duyệt, bạn có thể kiểm tra xem chức năng NhậpHTML có hoạt động với dữ liệu bạn muốn sử dụng không
Ghi chú. Các tiện ích được cung cấp bởi bảng tính bằng chức năng Nhập dữ liệu làm mới khoảng. mỗi 15 phút. Nếu điều này không đủ nhanh cho nhu cầu của bạn, bạn có thể chạy tập lệnh và đặt khoảng thời gian làm mới của riêng mình
Hàm và cú pháp
Hàm được viết là =IMPORTHTML[URL, query, index]
. Và cú pháp yêu cầu các yếu tố sau
URL
- URL của trang để kiểm tra, bao gồm giao thức [e. g. http. //]Giá trị cho URL phải được đặt trong dấu ngoặc kép hoặc là tham chiếu đến ô chứa văn bản thích hợp
index
0 - Hoặc là "danh sách" hoặc "bảng" tùy thuộc vào loại cấu trúc chứa dữ liệu mong muốnindex
- Chỉ mục, bắt đầu từ 1, xác định bảng hoặc danh sách nào được xác định trong nguồn HTML sẽ được trả về
Cách nhập bảng
Trong ví dụ này, chúng tôi lấy dữ liệu từ một bảng cho biết 1 đô la Mỹ trị giá bao nhiêu bằng một số đơn vị tiền tệ khác vào Google Trang tính
Để nhập một bảng, hãy làm theo các bước sau
Tạo một Google Trang tính mới hoặc tạo một tab mới trên một trang tính hiện có và đặt tên cho nó
Tiếp theo, thêm công thức sau vào ô A1 và điều chỉnh trường
index
nếu cầnindex
3
Mẹo
Nếu trang web bạn đang nhập bao gồm nhiều bảng, hãy mở Công cụ dành cho nhà phát triển của bạn và chạy mã sau trong bảng điều khiển. index
4. Để tìm index
được liên kết với bảng bạn muốn hiển thị, hãy di chuột qua kết quả cho đến khi bảng bạn muốn hiển thị được tô sáng. Số hiển thị trong kết quả là số bàn bạn sẽ cần sử dụng
Cách nhập danh sách
Trong ví dụ này, chúng tôi lấy dữ liệu từ danh sách hiển thị các giá trị và niềm tin của Geckoboard vào Google Trang tính
Để nhập danh sách, hãy làm theo các bước sau
Tạo một Google Trang tính mới hoặc tạo một tab mới trên một trang tính hiện có và đặt tên cho nó
Tiếp theo, thêm công thức sau vào ô A1 và điều chỉnh trường
index
nếu cần=IMPORTHTML[URL, query, index]
0
Không bắt buộc. Tăng tốc thời gian làm mới cho ImportHTML
Các tiện ích được cung cấp bởi bảng tính bằng chức năng NhậpHTML làm mới khoảng. mỗi 15 phút. Nếu điều này không đủ nhanh cho nhu cầu của bạn – và tài khoản G Suite của bạn cho phép điều đó – thì bạn có thể viết một tập lệnh có thể giảm thêm thời gian làm mới
Chúng tôi khuyên bạn nên mở Google Trang tính mới trước tiên vì các bước sau sẽ ghi đè lên bất kỳ thông tin nào bạn có trong Google Trang tính hiện có
Bước 1. Viết kịch bản
Trong Google Trang tính mới, chọn menu Công cụ và nhấp vào Trình chỉnh sửa tập lệnh. Một tab Google Apps Script mới sẽ mở ra
Thay thế mã mặc định bằng tập lệnh sau
function getData[] { var sheetName = SpreadsheetApp.getActiveSpreadsheet[].getSheetByName[""]; var queryString = Math.random[]; var cellFunction = '=IMPORTHTML["?","table",]'; sheetName.getRange[''].setValue[cellFunction]; }
Thay thế
=IMPORTHTML[URL, query, index]
1 bằng tên trang tính của bạn [tên tab, không phải tên tệp]Thay thế
=IMPORTHTML[URL, query, index]
2 bằng URL của trang web của bạn, e. g.=IMPORTHTML[URL, query, index]
3Thay thế
=IMPORTHTML[URL, query, index]
4 bằng vị trí bảng trên trang, đ. g.=IMPORTHTML[URL, query, index]
5Thay thế
=IMPORTHTML[URL, query, index]
6 bằng ô mà bạn muốn đặt câu lệnh nhập của mình, e. g.=IMPORTHTML[URL, query, index]
7Trong trường tiêu đề, thêm tên cho dự án của bạn
Tiếp theo, chọn File, sau đó chọn Save
Nếu bạn tò mò về lý do tại sao tập lệnh thêm một số ngẫu nhiên vào cuối URL của chúng tôi - nếu không có nó, trang web sẽ được lưu vào bộ đệm và chức năng ngừng nhập dữ liệu mới nhất
Bước 2. Thiết lập trình kích hoạt
Để tạo trình kích hoạt cho chức năng của bạn, hãy làm theo các bước sau
Nhấp vào trình đơn kích hoạt của dự án
Nhấp vào nút + Thêm Trình kích hoạt ở góc dưới cùng bên phải của trang
Đặt trình kích hoạt cho chức năng myFunction chạy từ Head trên Nguồn định hướng thời gian được kích hoạt trên Bộ hẹn giờ phút
Sau khi bạn đặt trình kích hoạt [và để bạn không phải đợi 1 giờ để nhận dữ liệu], hãy chạy tập lệnh lần đầu tiên
Bạn đã hoàn tất
Bây giờ bạn đã viết tập lệnh và đặt trình kích hoạt đang chạy, bạn sẽ có thể xem dữ liệu trên Google Trang tính của mình được làm mới nhanh hơn 15 phút mặc định. Điều này sẽ tiếp tục làm mới ngay cả khi Google Trang tính của bạn bị đóng
Lỗi máy chủ Google tiềm ẩn
Chúng tôi nhận thấy rằng một vài lần một tuần, lỗi máy chủ sẽ xảy ra ở phía Google và tập lệnh sẽ không chạy được. Theo mặc định, bạn sẽ nhận được email thông báo rằng điều này đã xảy ra. Xem xét kịch bản chạy mỗi phút trong ngày, tổng cộng là 1440 lần, một vài lần một tuần không có gì đáng lo ngại