Cào dữ liệu ư!, Crawling ư!, Tại sao Microsoft Excel lại không thể?
October 16, 2020Bài viết trước mình đã đề cập tới việc Cào dữ liệu (Web Crawling và Web Scraping) từ các trang web khác. Bạn có thể đọc lại tại đây:
# http://blog.ntechdevelopers.com/web-crawling-va-web-scraping-su-tranh-cai-giua-an-cap-tai-lieu-hay-la-mot-cong-nghe-thu-thap-du-lieu/
Hôm nay mình sẽ nói về ứng dụng của việc cào dữ liệu đối với những người không biết gì đến lập trình.
Viêc cào dữ liệu này bạn hoàn toàn có thể dùng excel để thu thập dữ liệu với mục đích cá nhân của mình mà không cần biết đến kiến thức lập trình.
Dưới đây là một ví dụ đơn giản mà mình lấy dữ liệu tỷ giá các website ngân hàng thông qua excel.
Từ excel 2010 trở về sau đã hỗ trợ công cụ cập nhật dữ liệu từ web, chúng ta sẽ dùng nó để lấy tỷ giá ngoại tệ tự động từ trang web của các ngân hàng.
Bước 1: Lấy link bảng tỷ giá từ trang web ngân hàng cần cập nhậtBạn cần cập nhật tỷ giá của ngân hàng nào thì lên trang web của ngân hàng đó và tìm mục tỷ giá ngoại tệ để lấy link nhé. Ở đây mình cung cấp cho bạn 4 ngân hàng phổ biến ở Việt Nam, các ngân hàng khác bạn làm tương tự:
– VCB: http://www.vietcombank.com.vn/ExchangeRates/
– BIDV: http://www.bidv.com.vn/Ty-gia-ngoai-te.aspx
– EXB: https://eximbank.com.vn/WebsiteExrate/ExchangeRate_vn_2012.aspx
– SCB: https://www.sacombank.com.vn/company/Pages/ty-gia.aspx
Bước 2: Chèn bảng tỷ giá vào bảng tính của Microsoft ExcelVào Excel > Data > From Web và Nhập địa chỉ Web có bảng tỉ giá mà chúng ta tìm được vào cửa sổ New Web Query hiện ra:
Bấm Import (2 lần) sẽ hiện ra bảng hỏi vị trí đặt dữ liệu, bạn chỉ việc bấm Ok là được
Bước 3: Cập nhật tự động tỷ giá ngoại tệ
Sau khi bấm Ok, bảng tỷ giá sẽ được chèn vào bảng tính. Để tự động cập nhật tỷ giá ngoại tệ, tiền tệ trên Internet cho Microsoft Excel, thì chúng ta còn phải làm thêm một bước nữa, đó là vào: Data > Properties (ngay cạnh Refresh All).
Ở cửa sổ hiện ra, chúng ta tích vào Refresh data when opening the file, để mỗi khi mở file là bảng giá tự cập nhật. Ngoài ra cần cập nhật sau mỗi bao nhiêu phút thì tích vào Refresh every XX minutes, tức là bảng sẽ tự cập nhật mỗi XX phút.
Tuy nhiên, tỷ giá niêm yết ở Việt Nam hiện tại cập nhật mỗi ngày 1 lần (trừ tỷ giá giao dich mua bán ngoại tệ không niêm yết thì cập nhật liên tục) nên mình bỏ trống phần này cho nhẹ bảng tính.
Như vậy, chỉ với những bước đơn giản trên là bạn đã có thể dễ dàng cập nhập bảng tỉ giá từ trên website của ngân hàng vào bảng tính của Excel rồi. Từ bước này các bạn có thể link trực tiếp dự liệu mới import vào bảng báo cáo của mình rồi.
Ví dụ thứ hai mình lấy dữ liệu từ google finance cũng thông qua phần mềm excel
Giả sử chúng ta muốn lấy dữ liệu từ trang Google Finance sau đây:
Bước 1: Trong Excel, bạn cần mở thẻ Data, chọn nút From Web
Hộp thoại New Web Query xuất hiện
Trong ô địa chỉ Web, chúng ta cần gõ vào địa chỉ sau đây: https://www.google.com/finance
Sau đó bấm nút Go
Bây giờ bạn cần chú ý đến các mũi tên màu vàng ở trên hình sau đây
Trong trường hợp này, chúng ta có thể chọn nhiều hơn 1 vùng trên trang web, ví dụ như World Markets data, Currency Data, và Summary
Bước 2: Bấm nút Import. Hộp thoại Import Data được mở ra, hỏi chúng ta muốn lưu dữ liệu vào ô nào. Ở đây các bạn có thể chọn ô A1
Như vậy là chúng ta đã lấy được dữ liệu từ Website vào trong Excel. Vấn đề khi dữ liệu này thay đổi thì làm thế nào để chúng ta có thể cập nhật được dữ liệu tương ứng trong Excel?
Bước 3: Bạn có thể cập nhật dữ liệu bằng tay hoặc tự động. Để cập nhật bằng tay, bạn sẽ cần vào thẻ Data rồi bấm nút Refresh All (phím tắt là CTRL + SHIFT + F5)
Bước 4: Để cập nhật dữ liệu 1 cách tự động sau 1 khoảng thời gian, ta có thể làm như sau:
Trong thẻ Data, nhóm lệnh Connections, bấm Properties
Bạn có thể đánh dấu tích vào mục Refresh Every, và chọn sau bao lâu thì Excel sẽ tự động cập nhật dữ liệu cho bạn hoặc đánh dấu tích vào mục Refresh data when opening the file để có thể cập nhật dữ liệu tự đông khi mở file. Và bây giờ, bạn có thể yên tâm tạo cả 1 Dashboard hay nhiều báo cáo khác về số liệu này dựa trên số liệu được cập nhật 1 cách tự động này.
Thật ngạc nhiên đúng không các bạn, việc lấy dữ liệu không hề khó khăn như các bạn nghĩ đúng không.Tuy nhiên để có thể lấy được dữ liệu một cách chuyên sâu thì có thể bạn phải bỏ công sức tìm hiểu một chút về các câu lệnh lập trình truy xuất đơn giản gọi là VBA
Bạn có thể tìm hiểu tại đây:
https://officetricks.com/extract-data-from-website-to-excel-vba/
—
Nguồn bài viết có từ video, các bạn có thể ủng hộ tác giả:https://www.youtube.com/watch?v=gHrG_8VjGAAhttps://www.youtube.com/watch?v=ekx9DzDE7gY
[…] Bài viết trước mình có nhắc đến vì sao mình lại test API trước và thu thập dữ liệu từ các api đó. Bạn có thể đọc lại tại đây# http://blog.ntechdevelopers.com/cao-du-lieu-u-crawling-u-tai-sao-microsoft-excel-lai-khong-the/ […]