Làm cách nào để kéo dữ liệu từ một trang web lên google sheet?

Bạn muốn tạo một công cụ quét web trong Google Trang tính?

Bạn có thể trích xuất thông tin cụ thể từ một trang web và hiển thị thông tin đó trong Google Trang tính của mình bằng cách sử dụng một số công thức đặc biệt của Trang tính

Ví dụ: gần đây tôi cần tìm tác giả cho một danh sách dài các bài đăng trên blog từ báo cáo Google Analytics, để xác định các tác giả ngôi sao thu hút lượt xem trang. Sẽ vô cùng tẻ nhạt khi mở từng liên kết và nhập thủ công từng tên tác giả. Rất may, có một số kỹ thuật có sẵn trong Google Trang tính để làm điều này cho chúng tôi

Web Scraper Ví dụ cơ bản

Lấy tệp giải pháp cho hướng dẫn này.
Nhấp vào đây để nhận bản sao của riêng bạn >>

Với mục đích của bài đăng này, tôi sẽ trình bày kỹ thuật này bằng cách sử dụng các bài đăng từ New York Times

Bước 1

Hãy lấy một bài báo ngẫu nhiên của New York Times và sao chép URL vào bảng tính của chúng ta, trong ô A1

Ví dụ URL Thời báo New York

Bước 2

Điều hướng đến trang web, trong ví dụ này là New York Times

Ảnh chụp màn hình Thời báo New York

Lưu ý - Tôi biết bạn đang nghĩ gì, điều này không phải là tự động sao?. ? . Nhưng trước tiên, chúng tôi cần xem cách New York Times gắn nhãn tác giả trên trang web, để sau đó chúng tôi có thể tạo một công thức để sử dụng trong tương lai

Bước 3

Di chuột qua tên tác giả và nhấp chuột phải để hiển thị menu và nhấp vào "Inspect Element" như trong ảnh chụp màn hình sau

Thời báo New York kiểm tra lựa chọn yếu tố

Thao tác này sẽ hiển thị cửa sổ kiểm tra nhà phát triển nơi chúng tôi có thể kiểm tra phần tử HTML cho dòng nội dung

Yếu tố Thời báo New York trong bảng điều khiển dành cho nhà phát triển

Bước 4

Trong cửa sổ bảng điều khiển dành cho nhà phát triển mới, có một dòng mã HTML mà chúng tôi quan tâm và đó là dòng được đánh dấu

Chúng ta sẽ sử dụng hàm IMPORTXML trong Google Trang tính, với đối số thứ hai [được gọi là “xpath-query”] truy cập phần tử HTML cụ thể ở trên

Truy vấn xpath, //span[@class='byline-author'], tìm kiếm các phần tử span có tên lớp là “byline-author”, sau đó trả về giá trị của phần tử đó, là tên của tác giả của chúng ta

Sao chép công thức này vào ô B1, bên cạnh URL của chúng tôi

=IMPORTXML[A1,"//span[@class='byline-author']"]

Kết quả cuối cùng cho ví dụ về New York Times như sau

Ví dụ quét web cơ bản bằng cách sử dụng importXML trong Google Trang tính

Ví dụ Web Scraper với các bài viết nhiều tác giả

Hãy xem xét bài viết sau đây

http. //www. thời báo New York. com/2015/09/25/us/pope-francis-congress-speech. html

Trong trường hợp này có hai tác giả trong dòng tên tác giả. Công thức trong bước 4 ở trên vẫn hoạt động và sẽ trả về cả hai tên trong các ô riêng biệt, cái này nằm dưới cái kia

Hai tác giả web scrape sử dụng importXML

Điều này tốt cho trường hợp sử dụng một lần nhưng nếu dữ liệu của bạn được cấu trúc theo hàng [tôi. e. một danh sách dài các URL trong cột A], thì bạn sẽ muốn điều chỉnh công thức để hiển thị cả hai tên tác giả trên cùng một hàng

Để làm điều này, tôi sử dụng công thức Chỉ mục để giới hạn yêu cầu đối với tác giả đầu tiên, do đó, kết quả chỉ tồn tại trên hàng đó. Công thức mới là

=INDEX[IMPORTXML[A1,"//span[@class='byline-author']"],1]

Lưu ý đối số thứ hai là 1, giới hạn ở tên đầu tiên

Sau đó, trong ô liền kề, C1, tôi thêm một công thức khác để thu thập tên tác giả thứ hai

=INDEX[IMPORTXML[A1,"//span[@class='byline-author']"],2]

Điều này hoạt động bằng cách sử dụng 2 để trả về tên của tác giả ở vị trí thứ hai của mảng do hàm IMPORTXML trả về

Kết quả là

Hai tác giả web cạo trên cùng một hàng

Các ví dụ về trình quét web phương tiện khác

Các trang web khác sử dụng các cấu trúc HTML khác nhau, vì vậy công thức phải được sửa đổi một chút để tìm thông tin bằng cách tham chiếu thẻ HTML cụ thể, có liên quan. Một lần nữa, cách tốt nhất để làm điều này cho một trang web mới là làm theo các bước ở trên

Dưới đây là một vài ví dụ khác

Đối với Business Insider, dòng tên tác giả được truy cập bằng

=IMPORTXML[A1,"//li[@class='single-author']"]

Đối với tờ Washington Post

=INDEX[IMPORTXML[A1,"//span[@itemprop='name']"],1]

Sử dụng hàm IMPORTHTML để cạo bảng trên website

Lấy tệp giải pháp cho hướng dẫn này.
Nhấp vào đây để nhận bản sao của riêng bạn >>

Xem xét trang Wikipedia sau đây, hiển thị bảng các tòa nhà cao nhất thế giới

https. // vi. wikipedia. org/wiki/Danh_sách_của_cao_tòa

Mặc dù chúng ta có thể sao chép và dán một cách đơn giản, nhưng điều này có thể gây nhàm chán cho các bảng lớn và nó không tự động. Bằng cách sử dụng công thức IMPORTHTML, chúng tôi có thể yêu cầu Google Trang tính thực hiện công việc nặng nhọc cho chúng tôi

________số 8

cung cấp cho chúng tôi đầu ra

Google Trang tính nhập bảng Wikipedia

Tìm số bảng [trong ví dụ này là 2] liên quan đến một chút thử và sai, kiểm tra các giá trị bắt đầu từ 1 cho đến khi bạn nhận được đầu ra mong muốn

Lưu ý, công thức này cũng hoạt động đối với danh sách trên các trang web, trong trường hợp đó, bạn thay đổi tham chiếu "bảng" trong công thức thành "danh sách"

đọc thêm

Để biết các ví dụ nâng cao hơn, hãy xem

Cách nhập thống kê mạng xã hội phổ biến vào Google Sheets

Các công thức NHẬP KHẨU khác

Nếu bạn quan tâm đến việc mở rộng kỹ thuật này thì bạn sẽ muốn xem các công thức Google Trang tính khác này

Chủ Đề