Lấy dữ liệu từ web lên Google sheet

Có nhiều cách để bạn có thể trích xuất hoặc trích xuất nội dung của một trang web chỉ bằng Google Trang tính. Để làm như vậy, nhiều công thức theo ý của bạn. Trong bài viết này, tôi sẽ xem xét ba công thức được sử dụng rộng rãi nhất mà bạn có thể sử dụng để thu thập nội dung của các trang web mà không cần kiến ​​thức về mã hóa. Chúng ta hãy đi đến đó

Nhập dữ liệu từ các bảng trong trang web vào Google Trang tính

Một trong những cách phổ biến nhất để hiển thị khối dữ liệu lớn là sử dụng bảng. Các bảng HTML rất dễ viết mã và tạo nên mọi người có xu hướng sử dụng nó rất thường xuyên. Bạn có thể tìm thấy nó trên Wikipedia mà còn trên các trang web như Expatistan hoặc Numbeo (Ảnh chụp màn hình bên dưới)

Lấy dữ liệu từ web lên Google sheet

Như bạn có thể thấy từ hình ảnh này, rõ ràng có hai cột. Một cho các yếu tố và một cho các giá trị

Nhìn code cũng thấy bảng HTML rõ ràng, dễ đọc, do đó dễ cạo bằng Google Sheets…

Để đưa bảng từ một trang web vào Google Trang tính, chúng ta cần xem xét kỹ hơn công thức mà chúng ta sẽ sử dụng, =IMPORTHTML, yêu cầu gì

Lấy dữ liệu từ web lên Google sheet

Nhìn vào công thức, nó yêu cầu một URL, loại dữ liệu chúng tôi đang tìm cách trích xuất (Danh sách hoặc bảng) và chỉ mục

Looking at our Numbeo page (https://www.numbeo.com/cost-of-living/in/Paris), if you inspect the code and look for how many

elements there is, you can notice that the table that contains the data depicted two screenshots above is in the third table present in the source code.

Biết được điều đó, chúng ta có thể bắt đầu tạo công thức của mình như thế này

Lấy dữ liệu từ web lên Google sheet

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

Lấy dữ liệu từ web lên Google sheet

Bây giờ, có một trường hợp sử dụng tốt cho Numbeo. Chẳng hạn, bạn có thể tự động trích xuất toàn bộ dữ liệu của nhiều trang trong cùng một bảng tính

Để làm điều này, hãy tạo một cột A dành riêng cho các URL và hàng 1 cho tên các yếu tố

Lấy dữ liệu từ web lên Google sheet

Bây giờ, thay vì chỉ sử dụng công thức IMPORTHTML như chúng tôi đã làm trước đây, chúng tôi cần điều chỉnh đầu ra của nó bằng các công thức khác, cụ thể là TRANSPOSE và INDEX. Chỉ riêng đầu ra được tạo bởi công thức IMPORTHTML là một bảng rộng ba cột và dài 65 hàng. Định dạng của bảng của chúng tôi được tạo sao cho các yếu tố phải là các cột và các tiêu đề sẽ trở thành các hàng. Công thức =TRANSPOSE thực hiện điều đó

Lấy dữ liệu từ web lên Google sheet

Mặc dù đang đi đúng hướng, công thức này vẫn không sử dụng được cho mục đích của chúng tôi. Mục tiêu bây giờ là làm cho công thức chỉ xuất ra hàng thứ hai ở đây. Để làm như vậy, công thức INDEX sẽ trở nên hữu ích

Lấy dữ liệu từ web lên Google sheet

Và đó là nó. Bây giờ chúng ta có thể thêm nhiều thành phố hơn vào cột URL, kéo công thức xuống và xem dữ liệu mở ra

Lấy dữ liệu từ web lên Google sheet

Nhập dữ liệu từ bất kỳ trang web nào vào Google Trang tính

Bây giờ, nếu trang web mà bạn đang tìm kiếm bằng Google Trang tính không bao gồm các bảng và danh sách mà là mã thô, bạn có thể cần một công thức mạnh hơn một chút để hoàn thành công việc. Đáp ứng = IMPORTXML

Lấy dữ liệu từ web lên Google sheet

Giống như IMPORTHTML, phần tử định kỳ ở đây là URL. Mặc dù vậy, Truy vấn Xpath là một khái niệm khó nắm bắt hơn. Cách mình giải thích trong bài viết hướng dẫn theo dõi kênh Youtube trên Google Sheets như sau

Để điền vào Truy vấn Xpath của hàm IMPORTXML, chúng tôi cần ba thành phần từ thông tin mà chúng tôi đang cố gắng lấy ra khỏi trang web

Chẳng hạn, hãy truy cập trang web Chứng khoán của Bloomberg trên trang này (https. //www. nở hoa. com/quote/SPX. IND) và kiểm tra xem con số in đậm này có nghĩa là gì

Lấy dữ liệu từ web lên Google sheet

Dẫn đến điều này

Lấy dữ liệu từ web lên Google sheet

Dựa trên kết quả này, đây là cách bạn sẽ sử dụng công thức IMPORTXML

Lấy dữ liệu từ web lên Google sheet

Và bùm, thế là xong. Nếu bạn tuân theo cùng một logic mà chúng tôi đã sử dụng để tự động tạo kết quả cho bảng tính Numbeo, thì chắc chắn bạn có thể sử dụng các chỉnh sửa tương tự để quét nhiều trang của cùng một trang web trong một bảng tính

Nhập nội dung JSON từ bất kỳ trang web nào vào Google Trang tính

Nếu bạn gặp khó khăn với IMPORTXML, đôi khi sẽ rất hữu ích nếu bạn xem xét cách chúng tôi có thể nhập nội dung của các nguồn JSON vào Google Trang tính

Phần đang tiến hành

Thưởng. Nhập Nguồn cấp dữ liệu RSS trong Google Trang tính

Một tính năng thú vị mà Google Trang tính cho phép là nhập nguồn cấp RSS bên trong bảng tính. Tôi chưa tìm thấy trường hợp sử dụng thực sự cho công thức này nhưng có lẽ bạn sẽ nghĩ về điều gì đó. Dù sao thì nó trông như thế nào khi được sử dụng với nguồn cấp dữ liệu RSS của riêng tôi

Lấy dữ liệu từ web lên Google sheet

Phần kết luận

Và đó là khá nhiều nó. Tôi hy vọng bài viết này đã được khai sáng cho bạn. Nếu bạn có bất kỳ câu hỏi nào về cách sử dụng một trong những công thức này hoặc gặp phải bất kỳ sự cố nào, vui lòng để lại nhận xét trong phần thích hợp bên dưới và tôi sẽ liên hệ lại với bạn và cố gắng tìm ra giải pháp

Như mọi khi, cảm ơn bạn đã dành thời gian để xem qua bài viết của tôi và tôi sẽ gặp lại bạn sớm

Tham gia cùng các nhà tiếp thị hàng đầu đọc bản tin của chúng tôi mỗi tuần

Đặt mua

Yaniss Illoul

Chia sẽ trên Twitter

Chia sẻ trên Linkedin

Chia sẻ trên facebook

Chia sẻ trên reddit

Bạn cũng có thể thích những bài viết này

6 phản hồi

  1. phản hồi. Cách theo dõi Chiến dịch/Dự án Kickstarter bằng Google Trang tính

  2. Patrick nói.

    Giống như chức năng googlefinance cho giá cổ phiếu, tôi đang cố gắng sử dụng chức năng importxml để nhập xếp hạng Zacks để hiển thị xếp hạng được cập nhật trên bảng tính của mình. Hơn nữa, tôi muốn kéo chức năng này qua hàng nghìn ô khác và tất cả các cổ phiếu đều có biểu tượng riêng, bạn khuyên tôi nên kéo chức năng này qua hàng nghìn ô như thế nào?

    Cảm ơn bạn trước

  3. phản hồi. Cách nhận giá Bitcoin hoặc tiền điện tử trong Google Trang tính

    1. Yaniss Illoul nói.

      Xin chào Bryan, cảm ơn vì nhận xét của bạn

      Vì vậy, tôi có lý do tại sao nó không hoạt động nhưng không may là giải pháp…

      Nếu bạn sử dụng công thức này, “=importxml(“https. //www. nở hoa. com/quote/SPX. IND”,”//p”)”, bạn sẽ có thể loại bỏ tất cả các đoạn văn khỏi trang web trong đối số đầu tiên. Và đây là lúc tôi nhận thấy rằng Bloomberg có thể đã cài đặt một số tính năng chống cạo trên trang web của họ vì đây là những gì rô-bốt của Google nhìn thấy khi bạn sử dụng công thức IMPORTXML để truy xuất

      từ trang

      Lấy dữ liệu từ web lên Google sheet

      Thật không may, có vẻ như lấy dữ liệu từ Bloomberg. com với công thức IMPORTXML không thể thực hiện được nữa. Nếu bạn quan tâm đến việc nhận giá cổ phiếu trong Google Trang tính, tôi khuyên bạn nên xem xét các trang web khác cung cấp cùng loại dữ liệu như Bloomberg. com làm và cố gắng cạo chúng thay vào đó. Hy vọng có cái nào đó không cố gắng chặn robot để bạn có thể sử dụng Google Sheets để lấy dữ liệu. )

      Một điều khác bạn có thể làm là sử dụng công thức Google Finance. Nó có thể hơi cồng kềnh khi sử dụng nhưng tôi thấy nó hoạt động khá tốt. Dưới đây là một ví dụ về cách lấy giá cổ phiếu hiện tại của Apple bằng USD. =GOOGLEFINANCE(“NASDAQ. AAPL”, “giá”)

      Tôi hy vọng điều đó sẽ giúp

      Tốt nhất,
      Yaniss

  4. Kenny nói.

    Xin chào, hy vọng bạn đang làm tốt

    Tôi tự hỏi cú pháp để kéo hàng dữ liệu đầu tiên cho trang web CMEgroup và cũng là ngày cập nhật cuối cùng là gì. Tôi đã thử với cú pháp được đề xuất ở trên, nhưng có vẻ như nó không hoạt động

    https. //www. cmegroup. com/thị trường/cổ phiếu/sp/e-mini-sandp500. định cư. html

    Khi tôi đăng bài này, trên trang này, chúng tôi hiện thấy rằng bản cập nhật cuối cùng là “Cập nhật lần cuối vào ngày 04 tháng 2 năm 2022 06. 00. 00 giờ chiều CT”