Comment utiliser Google Sheets để web scraping và tạo chiến dịch

Video google sheet get data from website

Chúng ta đều đã từng đối mặt với tình huống cần trích xuất dữ liệu từ một trang web vào một thời điểm nào đó. Khi làm việc trên một tài khoản hoặc một chiến dịch mới, có thể bạn sẽ không có dữ liệu hoặc thông tin cần thiết để tạo quảng cáo chẳng hạn. Trong một thế giới lý tưởng, chúng ta sẽ có đủ thông tin mà chúng ta cần, được định dạng dễ dàng để nhập như file CSV, bảng tính Excel hoặc Google Sheets. Thật không may, điều này không phải lúc nào cũng đúng.

Tuy nhiên, những ai không có công cụ web scraping hoặc kiến thức lập trình để sử dụng Python chẳng hạn để hỗ trợ trong công việc này, có thể đã phải làm việc sao chép và dán thủ công hàng trăm hoặc thậm chí hàng ngàn mục nhập. Không chỉ mất thời gian, mà khả năng mắc một, hay hai lỗi trong quá trình sao chép và dán thủ công dữ liệu cũng khá cao. Hơn nữa, sẽ mất thêm thời gian kiểm tra tài liệu và đảm bảo nó không có lỗi.

May mắn thay, có một giải pháp tốt hơn. Và tôi sẽ chỉ cho bạn cách chúng tôi đã làm được điều đó.

IMPORTXML là gì?

Hãy để tôi giới thiệu IMPORTXML, một hàm trong Google Sheets. Theo trang trợ giúp của Google, IMPORTXML “import data from various structured types, including XML, HTML, CSV, TSV, and RSS and ATOM XML feeds”. Đơn giản, IMPORTXML là một hàm cho phép bạn trích xuất dữ liệu có cấu trúc từ các trang web, mà không cần kiến thức về lập trình.

Ví dụ, rất nhanh và dễ dàng để trích xuất dữ liệu như tiêu đề trang, miêu tả hoặc liên kết, cũng như thông tin phức tạp hơn.

IMPORTXML có thể giúp trích xuất các phần tử từ trang web như thế nào?

Chính hàm IMPORTXML rất đơn giản và chỉ yêu cầu hai giá trị:

  • Đường dẫn URL của trang mà chúng ta muốn trích xuất hoặc web scraping thông tin.
  • Và đường dẫn XPath của phần tử chứa dữ liệu.

XPath là viết tắt của XML Path Language và được sử dụng để điều hướng qua các phần tử và thuộc tính của một tài liệu XML.

Ví dụ, để trích xuất tiêu đề trang từ https://fr.wikipedia.org/wiki/Google_Sheets, chúng ta sẽ sử dụng:

=IMPORTXML("https://fr.wikipedia.org/wiki/Google_Sheets", "//title")

Điều này sẽ trả về giá trị: Google Sheets — Wikipédia.

Hoặc, nếu chúng ta muốn tìm mô tả của trang, chúng ta có thể thử:

=IMPORTXML("https://www.fr.searchenginejournal.com/","//meta[@name='description']/@content")

Dưới đây là một số truy vấn XPath thông dụng và hữu ích:

  • Tiêu đề trang: //title
  • Mô tả meta của trang: //meta[@name=’description’]/@content
  • H1 của trang: //h1
  • Liên kết của trang: //@href

Xem IMPORTXML hoạt động như thế nào?

Kể từ khi chúng tôi khám phá ra IMPORTXML trong Google Sheets, nó thật sự trở thành một trong những vũ khí bí mật của chúng tôi để tự động hóa nhiều nhiệm vụ hàng ngày, từ việc tạo và quảng cáo chiến dịch đến việc tìm kiếm nội dung và nhiều hơn thế nữa.

Hơn nữa, khi kết hợp với các công thức và phần mở rộng khác, nó có thể được sử dụng cho các nhiệm vụ phức tạp hơn đòi hỏi một giải pháp phức tạp và phát triển, như các công cụ được phát triển bằng Python.

Nhưng trong ví dụ này, chúng ta sẽ xem xét IMPORTXML ở dạng cơ bản nhất: web scraping dữ liệu từ một trang web. Hãy xem một ví dụ cụ thể.

Giả sử chúng ta được yêu cầu tạo một chiến dịch cho tạp chí “Search Engine Journal”. Họ muốn chúng ta quảng cáo cho 30 bài viết mới nhất dưới phần PPC trên trang web của họ. Điều đó khá đơn giản, bạn có thể nói. Thật không may, nhà xuất bản không thể gửi cho chúng ta dữ liệu và đã lịch sự yêu cầu chúng ta xem trang web để tìm thông tin cần thiết để tạo chiến dịch.

Như đã đề cập ở đầu bài viết, một cách để làm điều này sẽ là mở hai cửa sổ trình duyệt, một với trang web và một với Google Sheets hoặc Excel. Sau đó, chúng ta sẽ bắt đầu sao chép và dán thông tin, từng bài viết và từng liên kết.

Nhưng bằng cách sử dụng IMPORTXML trong Google Sheets, chúng ta có thể đạt được kết quả tương tự mà không có hoặc ít rủi ro hơn, trong một phần nhỏ thời gian. Đây là cách tiến hành.

Bước 1: Bắt đầu với một bảng tính mới trên Google Sheets

Đầu tiên, hãy mở một tài liệu trống mới trên Google Sheets.

Start with a Blank Google Sheets Document

Bước 2: Thêm nội dung bạn muốn web scraping

Thêm URL của trang (hoặc các trang) từ đó chúng ta muốn web scraping thông tin. Trong trường hợp này, chúng ta bắt đầu từ https://www.searchenginejournal.com/category/pay-per-click/

Bước 3: Tìm đường dẫn XPath

Tìm đường dẫn XPath của phần tử mà chúng ta muốn nhập nội dung vào bảng tính. Trong ví dụ của chúng tôi, chúng ta sẽ bắt đầu bằng tiêu đề của 30 bài viết mới nhất. Mở Chrome và khi bạn di chuột qua tiêu đề của một trong những bài viết, chuột phải và chọn “Inspect”. Điều này sẽ mở cửa sổ Developer Tools của Chrome. Đảm bảo rằng tiêu đề bài viết vẫn được chọn và được làm nổi bật, sau đó chuột phải một lần nữa và chọn Copy > Copy XPath.

Bước 4: Trích xuất dữ liệu vào Google Sheets

Trở lại tài liệu Google Sheets của bạn, nhập hàm IMPORTXML như sau:

=IMPORTXML(B1, "//*[starts-with(@id, 'title')]")

Dưới đây là một số điều cần lưu ý:

  • Đầu tiên, trong công thức của chúng tôi, chúng tôi thay thế URL của trang bằng tham chiếu đến ô chứa URL (B1) trong bảng tính.
  • Thứ hai, khi bạn sao chép đường dẫn XPath từ Chrome, nó sẽ luôn nằm trong ngoặc kép. Tuy nhiên, để tránh làm hỏng công thức, dấu ngoặc kép phải được thay bằng dấu nháy đơn.

Lưu ý rằng trong trường hợp này, vì ID của trang thay đổi cho mỗi bài viết (title_1, title_2, vv), chúng ta phải sửa đổi yêu cầu và sử dụng “starts-with” để bắt lấy tất cả các phần tử trên trang có ID chứa ‘title’.

Dưới đây là dạng đó trong tài liệu Google Sheets của bạn:

[Chèn ảnh Google Sheets]

Và chỉ sau một thoáng, đây là kết quả sau khi truy vấn tải dữ liệu vào bảng tính:

[Chèn ảnh kết quả Google Sheets]

Như bạn có thể thấy, danh sách trả về tất cả các bài viết xuất hiện trên trang chúng tôi vừa web scraping (bao gồm bài viết trước đây của tôi về tự động hóa và sử dụng tùy chỉnh hóa quảng cáo để cải thiện hiệu suất của chiến dịch Google Ads). Bạn có thể áp dụng cùng phương pháp để trích xuất bất kỳ phần tử thông tin nào bạn cần để thiết lập chiến dịch quảng cáo.

Bây giờ chúng ta hãy thêm URL của các trang đích, đoạn trích đặc sắc của từng bài viết và tên tác giả vào tài liệu Sheets của chúng ta. Đối với URL của các trang đích, chúng ta phải điều chỉnh yêu cầu để chỉ định rằng chúng ta đang tìm kiếm phần tử HREF đính kèm với tiêu đề bài viết. Do đó, yêu cầu của chúng ta sẽ trở thành:

=IMPORTXML(B1, "//*[starts-with(@id, 'title')]/@href")

Và đây nó là! Ngay lập tức, chúng ta có URL của các trang đích.

Bạn có thể làm tương tự với các đoạn trích đặc sắc và tên tác giả.

Kết luận

Và đó, bạn đã có một phương pháp hoàn toàn tự động và không có lỗi để trích xuất dữ liệu từ (có thể là) bất kỳ trang web nào, từ nội dung và mô tả sản phẩm, đến dữ liệu thương mại điện tử như giá sản phẩm hoặc cước phí vận chuyển.

Trong thời đại mà thông tin và dữ liệu có thể là lợi thế cần thiết để đạt được kết quả vượt trội so với trung bình, khả năng web scraping dữ liệu web và nội dung được cấu trúc một cách dễ dàng và nhanh chóng có thể không có giá trị. Hơn nữa, như chúng ta đã thấy ở trên, IMPORTXML có thể giúp giảm thời gian thực thi và rủi ro lỗi.

Ngoài ra, chức năng này không chỉ là một công cụ tuyệt vời chỉ có thể được sử dụng độc quyền cho các nhiệm vụ PPC, mà cũng có thể rất hữu ích trong nhiều dự án khác yêu cầu web scraping, bao gồm nhiệm vụ SEO và nội dung.

Để biết thêm mẹo và thủ thuật về web scraping và tạo chiến dịch, hãy truy cập Crawlan.com.

Related posts