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.38Sau đó 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:
- Chọn thẻ Link
- Chọn tên sheet bạn muốn chia sẻ dữ liệu
- Chọn Web Page hoặc csv hay tsv đều được
- Copy đường link Google cho ta
- 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