Cách tạo Google Spredsheet tự động cập nhật dữ liệu

Theo dõi dữ liệu trên bảng tính là công việc khá đơn giản, nhưng việc nhớ để cập nhật dữ liệu mỗi ngày, tuần hay tháng lại có thể là vấn đề. Tại sao phải cập nhật thủ công trong khi bạn có thể sử dụng công cụ tự động hóa rất đơn giản?

Dưới đây là hướng dẫn từng bước để tạo bảng tính Google cập nhật và theo dõi dữ liệu. Bài viết sử dụng khá nhiều số liệu về người theo dõi Twitter, nhưng đoạn code có thể thay đổi tùy theo dữ liệu mà bạn cần lấy và lưu trữ.

Tạo hàm tự động lưu dữ liệu bảng tính
Tạo hàm tự động lưu dữ liệu bảng tính

Bước 1: Tạo bảng tính Google

Đi tới Google Drive và tạo một trang bảng tính trắng và đặt tên tiêu đề.

Tạo mới bảng tính Google Spreadsheet
Tạo mới bảng tính Google Spreadsheet

Bước 2: Thêm công thức đầu tiên

Các công thức trong bảng tính có thể làm nhiều hơn việc tính toán đơn thuần. Chúng có thể xuất dữ liệu từ URL. Có thể bạn sẽ muốn theo dõi nhiều hơn một trang, không chỉ của bạn mà của cả đối thủ, nên tất cả sẽ được thiết lập để dễ dàng điều chỉnh.

Thêm công thức trên bảng tính
Thêm công thức trên bảng tính

Cột đầu tiên là danh sách tài khoản Twitter bạn muốn theo dõi, cột thứ hai sẽ là công thức cho trang Twitter Web Intent. Thay vì trang dạng HTML phức tạp, có thể thấy đầy đủ URL thì các trang Web Intent được thiết kế cho các nhà phát triển muốn đưa module Twitter lên trang của mình. Định dạng là http://twitter.com/intent/user?screen_name=TWITTERHANDLE nên công thức cho bảng tính sẽ là

=CONCAT)”https://twitter.com/intent/user?screnn_name-”,A2)

Click vào kéo phần còn lại của bảng nếu dữ liệu nhiều hơn một dòng.

Bước 3: Viết hàm bảng tính

Lý tưởng nhất là dùng Twitter API để kéo dữ liệu. Tuy vậy dùng Twitter API hay các API khác cần có quyền chứng thực, bạn sẽ phải thiết lập OAuth2 cho bảng tính, nếu hứng thú thì Google có thư viện Oauth2 cho Google Apps Script.

Trong hướng dẫn này, chúng ta sẽ dùng cách dễ dàng hơn để lấy số liệu người theo dõi từ Web Intent. Hàm IMPORTXML của Google Sheet cho phép xuất HTML bằng truy vấn XPath. XPath là ngôn ngữ khá phức tạp nhưng SelectorGadget sẽ cho phép trỏ và click để tìm dữ liệu nhất định trên trang HTML.

Sử dụng truy vấn XPath
Sử dụng truy vấn XPath

Đây là những gì SelectorGadget hiển thị cho truy vấn XPath:

//*[contains(concat( “ “, @class, “ “ ), concat( “ “, “count”, “ “ ))]//*[contains(concat “ “, @class, “ “ ), concat( “ “, “alternate-context”, “ “ ))]

Tuy vậy, vì hàm của Google Sheets dùng hai dấu trích dẫn để đóng giá trị, bạn sẽ cần đổi tất cả các dấu trích dẫn đôi của XPath thành trích dẫn đơn, sau đó nhập công thức dưới đây vào cột người theo dõi.

=IMPORTXML(B2, “//dl[(((count(preceding-sibling::*) + 1) and parent::*)]//*[contains(concat( ‘ ‘, @class, ‘ ‘ ), concat( ‘ ‘, ‘alternate-context’, ‘ ‘ ))]”)

Sau đó click và kéo thả phần còn lại của cột.

Bước 4: Tự động lưu dữ liệu lấy về

Sử dụng công thức này cho phần còn lại của cột C và các giá trị sẽ tự động điền vào mỗi tài khoản mà bạn theo dõi. Tuy vậy, các giá trị này sẽ không được lưu mà sẽ thay đổi mỗi lần mở bảng tính.

Để giữ lịch sử giao dịch, hãy sao chép và dán giá trị thủ công vào cột khác. Thay vì thế, hãy tạo một hàm mới.

  • Tìm cột trống đầu tiên.
  • Dán nhãn cột đó bằng ngày lấy dữ liệu
  • Sao chép giá trị từ cột C sang ô trống đầu tiên.

Bước 5: Viết hàm để lưu trữ dữ liệu

Để lưu dữ liệu, ta cần tạo một hàm bảng tính. Đi tới Tools > Script Editor để tạo hàm, bạn sẽ thấy hàm mặc định myFunction.

Viết hàm để lưu dữ liệu
Viết hàm để lưu dữ liệu

Bước 6: Lưu ngày

Người dùng cũng sẽ muốn biết khi nào dữ liệu được lấy và lưu trữ. Vì thế hãy thêm ngày hiện tại khi hàm chạy ở dòng đầu tiên của cột trống đầu tiên. Lệnh dưới đây sẽ giúp đặt giá trị dòng 1 của cột đầu tiên không có dữ liệu sang ngày và giờ hiện tại.

sheet(1,numColumns + 1).setValue(newDate());

Lưu ngày và giờ hiện tại
Lưu ngày và giờ hiện tại

Sau đó làm tương tự với các ô còn lại trong cột với dữ liệu mới nhất. Code hàm sẽ là:

Đoạn code để lưu ngày giờ
Đoạn code để lưu ngày giờ

Bước 7: Hàm để lưu số người theo dõi Twitter

Đổi sang storeFollowers() và dùng đoạn code dưới đây.

pdate-spreadsheet-7.jpg
Lưu số người theo dõi Twitter

Hình ảnh dưới đây cho thấy từng dòng sẽ làm gì, sau đó lưu lại, đặt tên cho script.

Hàm lưu số người theo dõi Twitter
Hàm lưu số người theo dõi Twitter

Bước 8: Lên lịch để hàm tự chạy

Click vào biểu tượng đồng hồ để mở ra hộp thoại Current Project’s Triggers, sau đó chọn Click here to add one now. Bạn sẽ thiết lập để hàm chạy bất kì khi nào mở thủ công (From spreadsheet) hoặc theo lịch tự động (Time-driven) - hàng giờ, hàng ngày, hàng tháng.

Lên lịch để hàm chạy tự động
Lên lịch để hàm chạy tự động

Thứ Ba, 11/07/2017 14:54
52 👨 17.738
0 Bình luận
Sắp xếp theo
    ❖ Google Sheets