Lấy dữ liệu chứng khoán vào Google sheet

1 Đăng việc

2 Nhận hồ sơ

3 Giao việc

4 Đánh giá

Hàm importxml trong Google Sheet có thể giúp bạn cập nhật giá hàng trên Website theo thời gian thực

Giả sử, bạn có link tới 1 mặt hàng trên trang Web thương mại điện tử Aliexpress như sau:

Link sản phẩm

Mục tiêu là lấy được con số 60.38 về Google Sheet của bạn 1 cách tự động, nếu có link sản phẩm

Cách làm như sau:

Bấm chuột phải vào giá sản phẩm, chọn “Inspect Element” nếu bạn đang dùng Google Chrome

Như vậy các bạn sẽ nhìn thấy 1 hình tương tự như sau:

Lưu ý tới dòng:

60.38

Sau đó các bạn bấm chuột phải vào dòng code này, chọn copy > copy XPath như hình sau

Nội dung copy được trong trường hợp này sẽ là: //*[@id=”j-sku-discount-price”]

Để sử dụng được trong công thức ImportXML của Google Sheet, chúng ta cần thay dấu nháy kép bởi dấu nháy đơn: //*[@id=’j-sku-discount-price’]

Quay trở về file Google Sheet của mình chuẩn bị sẵn cho các bạn tại đây

Dán link sản phẩm vào ô A2, và copy công thức sau đây vào ô C2

=IMPORTXML[A2,“//*[@id=’j-sku-discount-price’]”]

Một cách tự động và kì diệu, các bạn sẽ lấy được giá sản phẩm với link sản phẩm 1 cách tự động với hàm IMPORTXML. Các bạn lặp lại thao tác này với các sản phẩm khác là đã có 1 bảng theo dõi giá cả sản phẩm theo thời gian thực ngay trong Google Sheet của bạn rồi.

Kĩ thuật này không giới hạn ở việc lấy giá sản phẩm, nó có thể được áp dụng để lấy tên sản phẩm với đường link. Các bạn có thể thảo luận thêm và nói cho mình biết suy nghĩ của các bạn trong phần comment phía dưới bài nhé.

P.S: Ngoài cách sử dụng hàm ImportXML ra, các bạn có thể sử dụng các hàm được YQL hỗ trợ để có thể scrape HTML, crawl data từ các trang web khác với rất nhiều sự lựa chọn linh hoạt và hỗ trợ nhiều ngôn ngữ khác nhau, trong đó có cả VBA trong Excel

Với YQL, bạn có thể thử bấm vào link này để xem kết quả

Trong bài viết này, Thanh sẽ chia sẻ với các bạn 2 cách truy cập dữ liệu Google Sheets từ Power BI hoặc Excel sử dụng công cụ Power Query. Để làm được việc này, các bạn cần có sẵn tài khoản Google để có thể sử dụng được Google Sheets, máy tính của các bạn cần có sẵn Power Query trong Excel hoặc Power Query trong Power BI. Cách đầu tiên, chúng ta sẽ sử dụng tính năng Publish to Web của Google Sheets, cách thứ hai, chúng ta sẽ sử dụng kiến thức về Google Apps Script để làm cho việc chia sẻ dữ liệu từ Google Sheets tới Power Query có nhiều lựa chọn hơn.

Truy cập dữ liệu từ Google Sheets bằng cách sử dụng Publish to Web

Các bước thực hiện trong Google Sheets

Với cách làm này, chúng ta sẽ cần làm lần lượt các bước như sau:

Bước 1: Trong tài liệu Google Sheets của bạn, bấm File > Publish to the Web

Bước 2: Trong cửa sổ Publish to the Web, thiết lập lần lượt như hình minh họa:

  1. Chọn thẻ Link
  2. Chọn tên sheet bạn muốn chia sẻ dữ liệu
  3. Chọn Web Page hoặc csv hay tsv đều được
  4. Copy đường link Google cho ta
  5. Lựa chọn này nếu được kích hoạt thì những thay đổi bạn thực hiện trên dữ liệu cũng được tự động chia sẻ.

Các bước thực hiện trong Power Query

Ở trong Power Query trên Excel hoặc Power Bi, bạn đều chọn Menu lấy dữ liệu From Web

Sau đó, ở trong cửa số From Web, bạn sẽ dán URL đã chuẩn bị từ bước trước vào, rồi bấm OK

Ở cửa sổ Access Web Content, bạn chọn Connect

Nếu dữ liệu của bạn bị lỗi font chữ, hãy chọn encoding UTF-8 như hình bên dưới, sau đó bấm Transform Data để có thể xem lại dữ liệu 1 lần nữa

Sau đó, dữ liệu đã được load hoàn thiện về Power Query.

Truy cập dữ liệu từ Google Sheets bằng cách sử dụng Google Apps Script

Chuẩn bị phía bên Google Apps Script

Đầu tiên, chúng ta phải khởi động một đoạn Script mới từ Google Sheets bằng cách bấm vào Menu Tools > Script Editor

Sau đó, chúng ta sẽ viết 1 đoạn code để trả dữ liệu về cho Power Query như sau:

function doGet[e] { const data = SpreadsheetApp .getActive[] .getSheetByName['data'] .getDataRange[] .getValues[] return ContentService .createTextOutput[JSON.stringify[data]] .setMimeType[ContentService.MimeType.JSON] }

Nếu bạn muốn học thêm về Google Apps Script và làm được nhiều ứng dụng thú vị, hãy tham khảo khóa học Google Apps Script cơ bản của mình. Đoạn script trên có nhiệm vụ lấy dữ liệu trong Sheet có tên “data” của chúng ta. Nếu bạn thực hành theo bài viết mà chưa có sheet có tên “data”, thì bạn cần thêm sheet này vào.

Deploy script

Để chúng ta có thể lấy được dữ liệu về Power Query, bạn cần phải deploy đoạn script này như hướng dẫn trong video sau đây:

Sự khác nhau giữa 2 cách này?

Rõ ràng, nếu chỉ là lấy dữ liệu từ Google Sheets về Power Query rồi load vào Excel hay Power BI, thì các bạn sẽ chọn cách đầu tiên. Vậy tại sao chúng ta lại có cách thứ hai? Bởi vì khi bạn muốn có được sự kiểm soát chặt chẽ hơn về dữ liệu, ví dụ: không phải ai biết đường link là cũng có thể truy cập dữ liệu chẳng hạn, chỉ như vậy thôi đã là một khác biệt lớn giữa các thứ hai và cách thứ nhất rồi. Hoặc bạn muốn kiểm soát việc load dữ liệu kỹ càng hơn, load dữ liệu ở sheets nào, load dữ liệu theo điều kiện nào, … Tất cả những vấn đề này sẽ được giải quyết khi bạn nắm vững được kiến thức về Google Apps Script và Power Query, hãy tham khảo 2 khóa học sau đây của Thanh:

Làm việc năng suất hơn, tự động hóa công việc với Google Apps Script

Trọn bộ Power Query nền tảng cho công việc báo cáo dữ liệu

Video liên quan

Chủ Đề