Cách dùng hàm ImportXML của Google Sheets để thu thập dữ liệu khắp nơi

NhậpXML .function giúp bạn lấy dữ liệu từ website vào Google Sheets. Đây là Cách sử dụng tính năng ImportXML trong Google Sheets.

NhậpXML .function
  • Google Trang tính
  • Google Trang tính cho iOS
  • Google Trang tính cho Android

Microsoft Excel không còn là chương trình bảng tính hữu ích nhất vì người dùng hiện có nhiều lựa chọn thay thế khác, thậm chí là miễn phí. Google Trang tính là một trong số đó.

Về cơ bản, Google Sheets không khác nhiều so với Excel. Ngay từ lần đầu sử dụng, bạn sẽ thấy giao diện của nó rất quen thuộc với các công cụ căn chỉnh, định dạng ô, sao chép và gộp dòng… Google Sheets cũng hỗ trợ các hàm với nhiều phép tính phổ biến như: cộng/trừ/nhân/chia dữ liệu trong ô có liên quan. Nếu bạn biết sử dụng Excel thì không khó để bạn sử dụng Google Sheets.

Điểm đặc biệt của phần mềm bảng tính này là bạn không cần cài đặt mà chỉ cần có tài khoản Google là sử dụng được ngay. Do dựa trên trình duyệt nên Google Trang tính có thể tự động cập nhật thông tin khi bạn vắng mặt. Bạn có thể chia sẻ bảng tính với người khác, nhập nguồn để Google Trang tính lấy dữ liệu liên quan khi có thay đổi. Chỉ với một vài thiết lập đơn giản, Sheets sẽ giúp bạn tiết kiệm đáng kể thời gian và công sức trong việc xử lý bảng tính.

Tuy nhiên, nếu bạn muốn tải xuống lượng lớn dữ liệu trên web, chẳng hạn như sao chép thông tin từ bảng trực tuyến (danh sách sự kiện, bảng thống kê hoặc địa chỉ email nằm rải rác trên web), hãy sao chép và dán chúng. Thật lãng phí thời gian và công sức phải không nào? Google Trang tính có một tùy chọn tốt hơn cho bạn.

>>> Xem thêm :  Cách đưa biểu tượng Gmail ra desktop

Bạn có thể nhập dữ liệu từ bất kỳ trang web nào bằng một tính năng nhỏ nhưng mạnh mẽ có tên là ImportXML. Một khi thành thạo chức năng ImportXML Google Trang tínhcông việc thu thập dữ liệu hàng loạt trên web trở nên cực kỳ đơn giản.

Khái niệm cơ bản về XML và HTML

Ngôn ngữ đánh dấu XML chỉ định các bộ dữ liệu trên một trang web. Về cơ bản bất kỳ bộ nào – các khối xây dựng của mã nguồn web hoặc một bộ dữ liệu cụ thể sẽ nằm trong chúng. Mã nguồn web sẽ có một số văn bản trong thẻ

tiết diện – phần, đôi khi chứa già> – chữ in đậm và có thể đường dẫn – liên kết (theo sau bởi ) .

để đóng tất cả các thẻ).

Chức năng ImportXML của Google Trang tính có thể tìm thấy một bộ XML cụ thể và sao chép dữ liệu bên ngoài nó. Trong ví dụ trên, nếu chúng ta muốn lấy tất cả các liên kết trên trang, chúng ta cần nhờ hàm ImportXML nhập tất cả thông tin trong thẻ. . Nếu bạn muốn tất cả văn bản trên một trang web, bạn có thể bắt đầu bằng cách đưa mọi thứ vào hoặc mỗi phiên bản của

và sau đó xóa dữ liệu trong các bước sau.

Cách trích xuất danh sách mã bưu điện và quận trong thành phố

Các bảng trong Wikipedia là một bài tập ImportXML tuyệt vời. Bài viết sẽ lấy ví dụ tải toàn bộ zip code của Edmonton, Alberta. Tìm danh sách mã bưu chính của Canada bắt đầu bằng chữ T. Mở trang đó trong cửa sổ trình duyệt mới để bắt đầu.

Xem nguồn

Chọn một mã bưu điện, nhấp chuột phải vào nó và chọn Quan sát để mở công cụ trình duyệt để xem mã nguồn của trang. Bạn sẽ thấy mã nguồn của mỗi trang trong một thẻ (xác định một ô của bảng). Sau đó, bài viết sẽ nhập tất cả các thẻ TD có chứa từ Edmonton trong đó.

>>> Xem thêm :  Hướng dẫn chèn hình nền trong Microsoft Word

Tạo một Google Trang tính trống mới. Bài viết lấy toàn bộ nội dung của thẻ TD, bao gồm và liên kết bằng cách chỉ định dữ liệu bạn muốn bằng cú pháp Xpath. ImportXML lấy URL và thẻ mà bạn đang tìm kiếm làm đối số để nhập vào Google Trang tính.

=importxml(“https://en.wikipedia.org/wiki/List_of_T_postal_codes_of_Canada”, “//td”)

Bạn sẽ nhận được kết quả như sau:

Nhập kết quả vào bảng dữ liệu

Nếu chúng ta quay lại nguồn trang, chúng ta sẽ thấy mã bưu điện được in đậm -tag, tên thành phố liên kết đến các bài viết Wikipedia trong . Bây giờ hãy cố gắng chỉ lấy liên kết trong từng ô của thành phố lớn và xóa các liên kết khác (vùng lân cận). Thay đổi chúng thành hai lệnh trong cột A và B:

=importxml(“https://en.wikipedia.org/wiki/List_of_T_postal_codes_of_Canada”, “//td/span/a[1]”)

=importxml(“https://en.wikipedia.org/wiki/List_of_T_postal_codes_of_Canada”, “//td/b[1]”)

Bạn cần điều chỉnh kết quả một chút:

Tinh chỉnh kết quả bạn nhận được

Hành động này giúp bạn hiểu cách thức hoạt động của cú pháp truy vấn XPath: Một thẻ chỉ trả về lần xuất hiện đầu tiên của Trong . Sau đó, td/span/a[1] cung cấp cho bạn liên kết đầu tiên trong bởi mỗi

. Tương tự td/b[1] cung cấp cho bạn văn bản in đậm đầu tiên trong mỗi

hoặc đơn giản là mã bưu điện trong trường hợp này.

Điều tuyệt vời là bạn có thể thực hiện hai truy vấn trong một chức năng. Do đó, bài viết kết hợp hai yêu cầu với một biểu tượng | giữa:

=importxml(“https://en.wikipedia.org/wiki/List_of_T_postal_codes_of_Canada”, “//td/span/a[1] | //td/b[1]”)

Tuy nhiên, bạn sẽ không nhận được kết quả như trước. Nó sẽ hợp nhất toàn bộ yêu cầu hợp nhất thành một danh sách dài thay vì hai cột. Nó có nhiều lợi thế, nhưng không cần thiết trong bài viết này.

Cột dữ liệu tên thành phố chính

Để chọn một mã zip trong các hộp chứa liên kết ‘Edmonton’. Chúng tôi sẽ sử dụng mã này:

=importxml(“https://vi.wikipedia.org/wiki/List_of_T_postal_codes_of_Canada”, “//td[span/a=”Edmonton”]/b[1]”)

Kèm theo phần “tìm kiếm” – văn bản đủ điều kiện thu hẹp kết quả trong ngoặc vuông mà không ảnh hưởng đến cách phân phối kết quả.

>>> Xem thêm :  Hàm RANK trong Excel
Tất cả các mã kết hợp Edmonton tương ứng

Bây giờ cho tên khu phố. Trong cột tiếp theo, nhập hàm importXML thích hợp và lấy văn bản sau từ “Edmonton.”

Bài viết lấy toàn bộ nội dung của span[1] và sử dụng dấu ngoặc đơn và dấu gạch chéo để phân tách nội dung bằng cách đặt “Edmonton” vào cột đầu tiên và tên vùng lân cận vào cột thứ hai. Sau đó, chúng ta có thể kết hợp mã bưu chính với tên tương ứng:

=importxml(“https://vi.wikipedia.org/wiki/List_of_T_postal_codes_of_Canada”, “//td[span/a=”Edmonton”]/span[1]”)

Sau đó sử dụng hàm Split và gộp một số cột sau đó để tách và nhóm dữ liệu đang được xử lý:

=SPLIT(nối(B2:J2),”(/)”)

Cuối cùng, đây là bảng kết quả với các thông tin cần thiết:

Bảng dữ liệu chứa các thông tin cần thiết

Cách tự động sao chép địa chỉ e-mail từ web

Cách nhận email bằng tính năng ImportXML trong Google Sheets

Bài viết sẽ hướng dẫn bạn cách lấy tất cả email của nhân viên trên trang About | Zapier. Nhìn vào mã nguồn, bạn sẽ thấy địa chỉ email của mỗi thành viên nằm trong trường class=”email”. Để đặt thuộc tính thẻ, hãy sử dụng hàm ImportXML của Google Trang tính như sau:

=importxml(“https://zapier.com/about//”, “//span[@class=”email”]”)

Cách dùng Regex nhập địa chỉ email từ web vào Google Sheets

Để lấy các địa chỉ Zapier bằng “sức mạnh” của Regex, chúng ta nhập lệnh thay vì tìm kiếm lớp học. Bây giờ chúng ta sẽ thực hiện nhiệm vụ này theo hai bước: gọi thông tin từ trang web Zapier trong cột đầu tiên, sau đó phân loại email trong cột thứ hai:

=importxml(“https://zapier.com/about//”, “//span”)

=regextract(A1, “[a-zA-Z0-9_.+-][email protected][a-zA-Z0-9-.]+.[a-zA-Z0-9-]{2,15}”)

Cuối cùng, chúng ta sẽ có bảng này:

Trích xuất địa chỉ email từ web

Hãy nhớ rằng ImportXML sẽ tự động điền vào tất cả các cột và hàng tùy thuộc vào dữ liệu mà nó tìm thấy. Truy vấn regex phải được hoàn thành trong mỗi ô mà bạn muốn có kết quả. Để kết hợp tất cả lại với nhau, chỉ cần sử dụng lệnh chiết xuất lại là một công thức hằng số ma trận:

=ArrayFormula(IFERROR(REGEXEXTRACT(IMPORTXML(“https://zapier.com/about//”, “//span”), “[a-zA-Z0-9_.+-][email protected][a-zA-Z0-9-.]+.[a-zA-Z0-9-]{2,15}”))))

Và đây là kết quả:

Trích xuất email bằng chức năng Regex .

Hy vọng bài viết hữu ích cho bạn!