Cách trích xuất dữ liệu từ Web sử dụng GraphQL bằng Power BI, Excel

Trong bài viết này, Thanh sẽ chia sẻ với các bạn cách trích xuất dữ liệu từ Website load dữ liệu qua GraphQL sử dụng công cụ đơn giản, mà hầu như ai cũng có cài đặt trên máy tính của mình đó là Excel, hoặc Power BI, sử dụng Power Query.

Lưu ý Bài viết này trình bày kiến thức nâng cao về Power Query và cơ chế tải dữ liệu của trang Web, hãy đảm bảo bạn có kiến thức cơ bản để có thể hiểu và áp dụng cho trường hợp của bạn. Kiến thức về trích xuất dữ liệu từ nhiều nguồn online được Thanh trình bày hệ thống và cơ bản hơn trong hai khóa học sau đây, các bạn có thể tham khảo:

Để trích xuất được dữ liệu từ trang Web, chúng ta cần hiểu được cách dữ liệu được chuyển tới máy tính của chúng ta như thế nào. Hiện tại, chúng ta có thể phân ra làm 2 cách chính để trình duyệt có thể nhận dữ liệu từ “trang Web” hoặc “Web server”:

  1. Cách đầu tiên, là một cách khá truyền thống, đó là “trang Web” hay “Web server” khi nhận được yêu cầu của bạn, sẽ chuẩn bị nội dung trang Web sẵn và gửi toàn bộ thông tin về cho bạn. Để minh họa cho ví dụ này, chúng ta hãy cùng nhau đi phân tích một hành động duyệt Web đơn giản như sau: các bạn gõ địa chỉ https://blog.hocexcel.online vào trình duyệt Web của các bạn và bấm phím Enter ở trên bàn phím. Ngay khi bạn bấm phím Enter, thì trình duyệt Web của bạn sẽ gửi một yêu cầu – “request” tới server của trang https://blog.hocexcel.online. Sau đó, server sẽ chuẩn bị tất cả thông tin đầy đủ về trang Web bạn muốn xem bao gồm nội dung trang web, mã JavaScript, CSS, ảnh, videos, các đường dẫn, … và gửi về trình duyệt bạn đang sử dụng, và trình duyệt của bạn sẽ phải “dựng lại trang Web” với những thông tin được gửi về từ Server. Với những trang Web dạng này, bạn có thể sử dụng hàm ImportHTML trong Google Sheets để trích xuất dữ liệu mà không gặp phải khó khăn gì cả. Tuy nhiên, hiện tại, rất nhiều trang Web sẽ sử dụng cách tải dữ liệu thứ 2 sau đây, và với cách tải dữ liệu thứ 2 mà mình trình bày, thì hàm ImportHTML trong Google Sheets sẽ không tải được dữ liệu về.
  2. Cách thứ hai, gần đây, với sự phát triển của công nghệ Web, Web động, … load dữ liệu mới không cần phải tải lại – refresh trang Web, thì phần khung của trang Web, được tải trước. Sau đó, phân dữ liệu sẽ có thể được tải sau thông qua một cơ chế mới, cơ chế mà trong bài viết này chúng ta sẽ tìm hiểu cách để có thể trích xuất dữ liệu được.

Series hướng dẫn này bao gồm 3 phần, trong phần này, chúng ta sẽ đi tìm hiểu cách trích xuất dữ liệu từ Web sử dụng GraphQL sử dụng công cụ Power Query bên trong Power BI hoặc Excel. Hai phần tiếp theo, chúng ta sẽ sử dụng các công cụ khác:

Trang Web chúng ta sẽ muốn trích xuất dữ liệu trong bài viết này là: Axie.zone

Các bạn có thể theo dõi cách trích xuất dữ liệu từ Web này thông qua video sau:

YouTube video

 


Khóa học mới xuất bản