Google Shopping xử lý hơn . Đó là một kho dữ liệu khổng lồ về giá cả, xu hướng sản phẩm và thông tin người bán — tất cả đều nằm ngay trong trình duyệt của bạn, được gom lại từ hàng nghìn nhà bán lẻ.
Nhưng kéo được dữ liệu đó ra khỏi Google Shopping rồi đưa vào bảng tính thì mới là đoạn đau đầu. Tôi đã tốn khá nhiều thời gian để thử đủ kiểu — từ tiện ích trình duyệt không cần code đến các script Python đầy đủ — và trải nghiệm thì lúc “wow, dễ quá”, lúc lại thành “tôi đã debug CAPTCHA ba ngày rồi và muốn bỏ cuộc”. Phần lớn bài hướng dẫn trên mạng mặc định bạn là một Python developer, nhưng theo kinh nghiệm của tôi, phần lớn người cần dữ liệu Google Shopping lại là các đội ecommerce, chuyên viên phân tích giá và marketer — họ chỉ cần số liệu, không muốn phải ngồi viết code. Vì vậy, bài viết này sẽ đi qua 3 phương pháp, sắp xếp từ dễ nhất đến kỹ thuật nhất, để bạn chọn cách phù hợp với trình độ và quỹ thời gian của mình.
Dữ liệu Google Shopping là gì?
Google Shopping là một công cụ tìm kiếm sản phẩm. Chỉ cần gõ “wireless noise-cancelling headphones”, Google sẽ hiện ra danh sách từ hàng chục cửa hàng online — tên sản phẩm, giá, người bán, đánh giá, hình ảnh, liên kết. Có thể xem nó như một “catalog” sống, cập nhật liên tục về những gì đang được bán trên internet.
Vì sao nên trích xuất dữ liệu Google Shopping?
Một trang sản phẩm đơn lẻ gần như không nói lên được nhiều điều. Nhưng khi hàng trăm sản phẩm được đẩy vào bảng tính theo cấu trúc rõ ràng, các mẫu hình mới bắt đầu lộ ra.

Dưới đây là những trường hợp sử dụng phổ biến nhất mà tôi thường thấy:
| Trường hợp sử dụng | Ai hưởng lợi | Bạn đang tìm gì |
|---|---|---|
| Phân tích giá đối thủ | Đội ecommerce, chuyên viên phân tích giá | Giá đối thủ, mẫu giảm giá, biến động giá theo thời gian |
| Khám phá xu hướng sản phẩm | Đội marketing, product manager | Sản phẩm mới, danh mục đang tăng trưởng, tốc độ xuất hiện review |
| Phân tích quảng cáo | Quản lý PPC, đội tăng trưởng | Danh sách tài trợ, ai đang đấu thầu, tần suất quảng cáo |
| Nghiên cứu seller/lead | Đội sales, B2B | Nhà bán hàng đang hoạt động, seller mới gia nhập một danh mục |
| Theo dõi MAP | Brand manager | Nhà bán lẻ vi phạm chính sách giá quảng cáo tối thiểu |
| Theo dõi tồn kho và danh mục | Category manager | Tình trạng còn hàng, khoảng trống trong danh mục sản phẩm |
hiện đã dùng công cụ định giá có hỗ trợ AI. Các công ty đầu tư vào phân tích giá cạnh tranh báo cáo mức lợi nhuận cao tới 29x. Amazon cập nhật giá khoảng mỗi 10 phút. Nếu bạn vẫn kiểm tra giá đối thủ bằng tay, phép toán này rõ ràng không có lợi cho bạn.
Thunderbit là một tiện ích Chrome AI Web Scraper giúp người dùng doanh nghiệp trích xuất dữ liệu từ website bằng AI. Công cụ này đặc biệt hữu ích cho các đội ecommerce, chuyên viên phân tích giá và marketer muốn có dữ liệu Google Shopping có cấu trúc mà không cần viết code.
Bạn thực sự có thể lấy những dữ liệu nào từ Google Shopping?
Trước khi chọn công cụ hay viết bất kỳ dòng code nào, bạn nên biết chính xác những trường dữ liệu nào có sẵn — và trường nào cần thêm công sức để lấy được.
Các trường từ trang kết quả tìm kiếm Google Shopping
Khi bạn tìm kiếm trên Google Shopping, mỗi thẻ sản phẩm trong trang kết quả thường chứa:
| Trường dữ liệu | Kiểu | Ví dụ | Ghi chú |
|---|---|---|---|
| Tên sản phẩm | Văn bản | "Sony WH-1000XM5 Wireless Headphones" | Luôn xuất hiện |
| Giá | Số | $278.00 | Có thể hiển thị giá khuyến mãi + giá gốc |
| Người bán/Cửa hàng | Văn bản | "Best Buy" | Một sản phẩm có thể có nhiều người bán |
| Đánh giá | Số | 4.7 | Trên thang 5 sao; không phải lúc nào cũng hiển thị |
| Số lượng review | Số | 12,453 | Đôi khi không có với sản phẩm mới |
| URL hình ảnh sản phẩm | URL | https://... | Lúc tải ban đầu có thể trả về placeholder dạng base64 |
| Link sản phẩm | URL | https://... | Dẫn đến trang sản phẩm của Google hoặc cửa hàng trực tiếp |
| Thông tin vận chuyển | Văn bản | "Free shipping" | Không phải lúc nào cũng có |
| Nhãn tài trợ | Boolean | Có/Không | Cho biết vị trí trả phí — hữu ích cho phân tích quảng cáo |
Các trường từ trang chi tiết sản phẩm (dữ liệu trang con)
Nếu bạn bấm vào trang chi tiết của từng sản phẩm trên Google Shopping, bạn có thể lấy thêm dữ liệu phong phú hơn:
| Trường dữ liệu | Kiểu | Ghi chú |
|---|---|---|
| Mô tả đầy đủ | Văn bản | Cần truy cập trang sản phẩm |
| Tất cả giá từ người bán | Số (nhiều giá trị) | So sánh giá song song giữa các nhà bán lẻ |
| Thông số kỹ thuật | Văn bản | Thay đổi theo danh mục sản phẩm (kích thước, trọng lượng, v.v.) |
| Nội dung review từng cá nhân | Văn bản | Nội dung review đầy đủ từ người mua |
| Tóm tắt ưu/nhược điểm | Văn bản | Google đôi khi tự tạo các phần này |
Để lấy được các trường này, bạn cần truy cập trang con của từng sản phẩm sau khi đã scrape trang kết quả. Các công cụ có khả năng sẽ tự động xử lý phần này — tôi sẽ hướng dẫn quy trình bên dưới.
Ba cách để trích xuất dữ liệu Google Shopping (Chọn hướng phù hợp)

Ba phương pháp, từ dễ nhất đến kỹ thuật nhất. Hãy chọn hàng phù hợp với bạn rồi đi tiếp:
| Phương pháp | Mức độ kỹ năng | Thời gian thiết lập | Xử lý chống bot | Phù hợp nhất cho |
|---|---|---|---|---|
| Không cần code (Thunderbit Chrome Extension) | Người mới | ~2 phút | Tự động xử lý | Ecommerce ops, marketer, nghiên cứu một lần |
| Python + SERP API | Trung cấp | ~30 phút | API xử lý | Developer cần truy cập theo chương trình, có thể lặp lại |
| Python + Playwright (tự động hóa trình duyệt) | Nâng cao | ~1 giờ+ | Bạn tự quản lý | Pipeline tùy chỉnh, xử lý tình huống đặc biệt |
Cách 1: Trích xuất dữ liệu Google Shopping không cần code (dùng Thunderbit)
- Độ khó: Người mới
- Thời gian cần: ~2–5 phút
- Bạn cần gì: Trình duyệt Chrome, (bản miễn phí dùng được), một truy vấn tìm kiếm Google Shopping
Đây là con đường nhanh nhất từ “tôi cần dữ liệu Google Shopping” đến “đây là bảng tính của bạn”. Không code, không API key, không cấu hình proxy. Tôi đã hướng dẫn đồng nghiệp không rành kỹ thuật làm theo quy trình này hàng chục lần — chưa ai bị kẹt cả.
Bước 1: Cài Thunderbit và mở Google Shopping
Cài từ Chrome Web Store và đăng ký tài khoản miễn phí.
Sau đó mở Google Shopping. Bạn có thể truy cập trực tiếp shopping.google.com hoặc dùng tab Shopping trong tìm kiếm Google bình thường. Tìm sản phẩm hoặc danh mục bạn quan tâm — ví dụ, “wireless noise-cancelling headphones”.
Bạn sẽ thấy một lưới danh sách sản phẩm với giá, người bán và đánh giá.
Bước 2: Bấm “AI Suggest Fields” để tự nhận diện cột
Bấm biểu tượng Thunderbit để mở thanh bên, rồi chọn “AI Suggest Fields.” AI sẽ quét trang Google Shopping và đề xuất các cột: Product Title, Price, Seller, Rating, Review Count, Image URL, Product Link.
Xem lại các trường được đề xuất. Bạn có thể đổi tên cột, xóa cột không cần, hoặc thêm trường tùy chỉnh. Nếu muốn lấy dữ liệu cụ thể hơn — ví dụ “chỉ trích xuất giá dạng số, không kèm ký hiệu tiền tệ” — bạn có thể thêm Field AI Prompt cho cột đó.
Bạn sẽ thấy bản xem trước cấu trúc cột trong panel của Thunderbit.
Bước 3: Bấm “Scrape” và kiểm tra kết quả
Nhấn nút xanh “Scrape”. Thunderbit sẽ kéo toàn bộ danh sách sản phẩm đang hiển thị vào một bảng có cấu trúc.
Nhiều trang? Thunderbit tự xử lý phân trang — tự bấm qua các trang hoặc cuộn để tải thêm kết quả tùy theo bố cục. Nếu dữ liệu nhiều, bạn có thể chọn giữa Cloud Scraping (nhanh hơn, xử lý tối đa 50 trang mỗi lần, chạy trên hạ tầng phân tán của Thunderbit) hoặc Browser Scraping (dùng phiên Chrome của chính bạn — hữu ích nếu Google hiển thị kết quả theo khu vực hoặc yêu cầu đăng nhập).
Trong quá trình tôi thử nghiệm, việc scrape 50 sản phẩm mất khoảng 30 giây. Làm thủ công cùng tác vụ đó — mở từng sản phẩm, copy tên, giá, người bán, đánh giá — có thể tốn hơn 20 phút.
Bước 4: Mở rộng dữ liệu bằng Scrape Subpages
Sau lần scrape đầu tiên, hãy bấm “Scrape Subpages” trong panel Thunderbit. AI sẽ truy cập trang chi tiết của từng sản phẩm và nối thêm các trường bổ sung — mô tả đầy đủ, tất cả giá từ người bán, thông số kỹ thuật và review — vào bảng gốc.
Không cần cấu hình thêm — AI tự nhận diện cấu trúc của từng trang chi tiết và lấy dữ liệu liên quan. Tôi đã xây dựng được một ma trận so sánh giá đầy đủ (sản phẩm + toàn bộ giá từ người bán + thông số) cho 40 sản phẩm chỉ trong chưa đầy 5 phút theo cách này.
Bước 5: Xuất sang Google Sheets, Excel, Airtable hoặc Notion
Bấm “Export” và chọn nơi bạn muốn đưa dữ liệu tới — , Excel, Airtable hoặc Notion. Tất cả đều miễn phí. Bạn cũng có thể tải CSV và JSON.
Hai cú click để scrape, một cú click để xuất dữ liệu. Còn script Python tương đương? Khoảng 60 dòng code, cấu hình proxy, xử lý CAPTCHA và bảo trì liên tục.
Cách 2: Trích xuất dữ liệu Google Shopping bằng Python + SERP API
- Độ khó: Trung cấp
- Thời gian cần: ~30 phút
- Bạn cần gì: Python 3.10+, thư viện
requestsvàpandas, khóa SERP API (ScraperAPI, SerpApi hoặc tương tự)
Nếu bạn cần truy cập dữ liệu Google Shopping theo cách có thể lập trình và lặp lại ổn định, SERP API là lựa chọn Python đáng tin cậy nhất. Các vấn đề chống bot, render JavaScript, xoay vòng proxy — tất cả đều được xử lý phía sau. Bạn gửi một HTTP request và nhận lại JSON có cấu trúc.
Bước 1: Thiết lập môi trường Python
Cài Python 3.12 (mặc định an toàn nhất cho production trong giai đoạn 2025–2026) và các gói cần thiết:
1pip install requests pandas
Đăng ký với một nhà cung cấp SERP API. có 100 lượt tìm kiếm miễn phí mỗi tháng; cung cấp 5.000 credit miễn phí. Lấy API key từ dashboard.
Bước 2: Cấu hình request API
Đây là ví dụ tối giản dùng Google Shopping endpoint của ScraperAPI:
1import requests
2import pandas as pd
3API_KEY = "YOUR_API_KEY"
4query = "wireless noise cancelling headphones"
5resp = requests.get(
6 "https://api.scraperapi.com/structured/google/shopping",
7 params={"api_key": API_KEY, "query": query, "country_code": "us"}
8)
9data = resp.json()
API trả về JSON có cấu trúc với các trường như title, price, link, thumbnail, source (người bán) và rating.
Bước 3: Phân tích phản hồi JSON và trích xuất trường dữ liệu
1products = data.get("shopping_results", [])
2rows = []
3for p in products:
4 rows.append({
5 "title": p.get("title"),
6 "price": p.get("price"),
7 "seller": p.get("source"),
8 "rating": p.get("rating"),
9 "reviews": p.get("reviews"),
10 "link": p.get("link"),
11 "thumbnail": p.get("thumbnail"),
12 })
13df = pd.DataFrame(rows)
Bước 4: Xuất ra CSV hoặc JSON
1df.to_csv("google_shopping_results.csv", index=False)
Phù hợp cho xử lý theo batch: lặp qua 50 từ khóa và tạo một bộ dữ liệu lớn chỉ trong một lần chạy script. Đổi lại là chi phí — SERP API tính phí theo truy vấn, và khi bạn lên tới hàng nghìn truy vấn mỗi ngày, hóa đơn sẽ tăng nhanh. Phần giá cả sẽ nói kỹ hơn bên dưới.
Cách 3: Trích xuất dữ liệu Google Shopping bằng Python + Playwright (tự động hóa trình duyệt)
- Độ khó: Nâng cao
- Thời gian cần: ~1 giờ+ (chưa kể bảo trì liên tục)
- Bạn cần gì: Python 3.10+, Playwright, residential proxy, và sự kiên nhẫn
Đây là cách “toàn quyền kiểm soát”. Bạn mở một trình duyệt thật, điều hướng tới Google Shopping và trích xuất dữ liệu từ trang đã render. Linh hoạt nhất, nhưng cũng dễ vỡ nhất — hệ thống chống bot của Google rất gắt, và cấu trúc trang thay đổi nhiều lần mỗi năm.
Lưu ý trước: tôi đã nghe nhiều người dùng mất hàng tuần để vật lộn với CAPTCHA và chặn IP theo cách này. Nó hoạt động, nhưng bạn phải chấp nhận bảo trì thường xuyên.
Bước 1: Cài Playwright và proxy
1pip install playwright
2playwright install chromium
Bạn sẽ cần residential proxy. IP của datacenter gần như bị chặn ngay lập tức — một người dùng trên diễn đàn nói thẳng: "All AWS IPs will be blocked or face CAPTCHA after 1/2 results." Các dịch vụ như Bright Data, Oxylabs hoặc Decodo cung cấp pool residential proxy, giá khởi điểm khoảng $1–5/GB.
Cấu hình Playwright với user-agent giống người dùng thật và proxy của bạn:
1from playwright.sync_api import sync_playwright
2with sync_playwright() as p:
3 browser = p.chromium.launch(
4 headless=True,
5 proxy={"server": "http://your-proxy:port", "username": "user", "password": "pass"}
6 )
7 context = browser.new_context(
8 user_agent="Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 ..."
9 )
10 page = context.new_page()
Bước 2: Điều hướng đến Google Shopping và xử lý chống bot
Tạo URL Google Shopping rồi truy cập:
1query = "wireless noise cancelling headphones"
2url = f"https://www.google.com/search?udm=28&q={query}&gl=us&hl=en"
3page.goto(url, wait_until="networkidle")
Xử lý popup đồng ý cookie của EU nếu nó xuất hiện:
1try:
2 page.click("button#L2AGLb", timeout=3000)
3except:
4 pass
Thêm độ trễ giống hành vi con người giữa các thao tác — chờ ngẫu nhiên 2–5 giây giữa mỗi lần tải trang. Hệ thống phát hiện của Google sẽ đánh dấu những mẫu request quá nhanh và đều đặn.
Bước 3: Cuộn, phân trang và trích xuất dữ liệu sản phẩm
Google Shopping tải kết quả động. Cuộn để kích hoạt lazy loading, rồi trích xuất các thẻ sản phẩm:
1import time, random
2# Cuộn để tải toàn bộ kết quả
3for _ in range(3):
4 page.evaluate("window.scrollBy(0, 1000)")
5 time.sleep(random.uniform(1.5, 3.0))
6# Trích xuất các thẻ sản phẩm
7cards = page.query_selector_all("[jsname='ZvZkAe']")
8results = []
9for card in cards:
10 title = card.query_selector("h3")
11 price = card.query_selector("span.a8Pemb")
12 # ... trích xuất các trường khác
13 results.append({
14 "title": title.inner_text() if title else None,
15 "price": price.inner_text() if price else None,
16 })
Một lưu ý quan trọng: các selector CSS bên trên chỉ mang tính tham khảo và sẽ thay đổi. Google thường xuyên xoay vòng tên class. Chỉ riêng giai đoạn 2024–2026 đã có ba bộ selector khác nhau được ghi nhận. Hãy bám vào các thuộc tính ổn định hơn như jsname, data-cid, thẻ <h3>, và img[alt] thay vì class name.
Bước 4: Lưu thành CSV hoặc JSON
1import json
2from datetime import datetime
3filename = f"shopping_{datetime.now().strftime('%Y%m%d_%H%M')}.json"
4with open(filename, "w") as f:
5 json.dump(results, f, indent=2)
Bạn nên chuẩn bị tinh thần phải bảo trì script này thường xuyên. Mỗi khi Google thay đổi cấu trúc trang — điều xảy ra nhiều lần mỗi năm — selector của bạn sẽ hỏng và bạn lại phải debug.
Vấn đề lớn nhất: CAPTCHA và chặn bot
Đi đến đâu trên các diễn đàn cũng thấy cùng một câu chuyện: “Tôi đã mất vài tuần nhưng cuối cùng vẫn phải bỏ cuộc trước các cơ chế anti-bot của Google.” CAPTCHA và chặn IP là lý do số một khiến nhiều người bỏ cuộc với các scraper Google Shopping tự làm.
Google chặn scraper như thế nào (và cách xử lý)
| Thử thách chống bot | Google làm gì | Cách khắc phục |
|---|---|---|
| Nhận diện IP | Chặn IP datacenter chỉ sau vài request | Dùng residential proxy hoặc scrape bằng trình duyệt |
| CAPTCHA | Kích hoạt khi thấy request nhanh hoặc có dấu hiệu tự động hóa | Giới hạn tốc độ (10–20 giây giữa các request), độ trễ giống người dùng, dịch vụ giải CAPTCHA |
| Render JavaScript | Kết quả Shopping tải động qua JS | Trình duyệt headless (Playwright) hoặc API có render JS |
| Phát hiện user-agent | Chặn các bot user-agent phổ biến | Xoay vòng chuỗi user-agent thực tế, cập nhật mới |
| TLS fingerprinting | Phát hiện dấu vết TLS không giống trình duyệt | Dùng curl_cffi với giả lập trình duyệt hoặc dùng trình duyệt thật |
| Chặn IP AWS/cloud | Chặn dải IP của nhà cung cấp cloud đã biết | Tránh hoàn toàn IP datacenter |
Vào tháng 1 năm 2025, Google bắt buộc phải thực thi JavaScript cho kết quả SERP và Shopping, — bao gồm cả các pipeline mà SemRush và SimilarWeb đang dùng. Sau đó, vào tháng 9 năm 2025, Google ngừng hỗ trợ các URL trang chi tiết sản phẩm kiểu cũ, chuyển hướng sang giao diện “Immersive Product” mới tải qua async AJAX. Vì vậy, hầu hết các hướng dẫn viết trước cuối năm 2025 giờ đã lỗi thời.
Mỗi phương pháp xử lý các thách thức này như thế nào
SERP API xử lý mọi thứ ở phía sau — proxy, render, giải CAPTCHA. Bạn không cần bận tâm.
Thunderbit Cloud Scraping dùng hạ tầng cloud phân tán tại Mỹ, EU và châu Á để tự động xử lý render JS và chống bot. Chế độ Browser Scraping dùng chính phiên Chrome đã đăng nhập của bạn, giúp tránh bị phát hiện vì trông giống hệt một người dùng bình thường đang duyệt web.
DIY Playwright đặt toàn bộ gánh nặng lên bạn — quản lý proxy, chỉnh độ trễ, giải CAPTCHA, bảo trì selector và theo dõi lỗi liên tục.
Chi phí thật để trích xuất dữ liệu Google Shopping: So sánh thẳng thắn
“$50 cho khoảng 20k request… hơi đắt cho dự án sở thích của tôi.” Bình luận kiểu này xuất hiện liên tục trên các diễn đàn. Nhưng phần lớn cuộc thảo luận thường bỏ qua một khoản chi lớn nhất.
Bảng so sánh chi phí
| Cách làm | Chi phí ban đầu | Chi phí mỗi truy vấn (ước tính) | Gánh nặng bảo trì | Chi phí ẩn |
|---|---|---|---|---|
| Python tự làm (không proxy) | Miễn phí | $0 | CAO (lỗi vỡ, CAPTCHA) | Thời gian debug của bạn |
| Python tự làm + residential proxy | Code miễn phí | ~$1–5/GB | TRUNG BÌNH-CAO | Phí nhà cung cấp proxy |
| SERP API (SerpApi, ScraperAPI) | Gói miễn phí giới hạn | ~$0.50–5.00/1K truy vấn | THẤP | Tăng chi phí rất nhanh khi scale |
| Tiện ích Chrome Thunderbit | Gói miễn phí (6 trang) | Tính bằng credit, ~1 credit/dòng | RẤT THẤP | Cần gói trả phí khi dùng nhiều |
| Thunderbit Open API (Extract) | Tính bằng credit | ~20 credit/trang | THẤP | Trả theo lượt trích xuất |
Chi phí ẩn mà ai cũng hay bỏ qua: thời gian của bạn
Một giải pháp DIY tốn $0 nhưng ngốn 40 giờ debug thì không hề miễn phí. Với mức $50/giờ, đó là $2.000 tiền công — cho một scraper có thể lại hỏng vào tháng sau khi Google đổi DOM.

McKinsey's Technology Outlook cho thấy điểm hòa vốn build/buy chỉ xuất hiện sau . Dưới ngưỡng đó, tự xây dựng in-house “ngốn ngân sách mà không mang lại ROI.” Với đa số đội ecommerce chỉ cần vài trăm đến vài nghìn lượt tra cứu mỗi tuần, công cụ không cần code hoặc SERP API thường tiết kiệm hơn rất nhiều so với tự làm.
Cách thiết lập giám sát giá Google Shopping tự động
Phần lớn bài hướng dẫn xem scraping như một tác vụ làm một lần. Nhưng use case thực tế của các đội ecommerce là giám sát liên tục, tự động. Bạn không chỉ cần giá hôm nay — bạn cần giá của hôm qua, tuần trước và cả ngày mai.
Thiết lập scraping định kỳ bằng Thunderbit
Scheduled Scraper của Thunderbit cho phép bạn mô tả khoảng thời gian bằng ngôn ngữ tự nhiên — “every day at 9 AM” hoặc “every Monday and Thursday at noon” — rồi AI sẽ chuyển nó thành lịch lặp lại. Nhập URL Google Shopping của bạn, bấm “Schedule,” và xong.
Mỗi lần chạy sẽ tự động xuất dữ liệu sang Google Sheets, Airtable hoặc Notion. Kết quả cuối cùng: một bảng tính tự cập nhật hằng ngày với giá đối thủ, sẵn sàng cho pivot table hoặc cảnh báo.
Không cron job. Không quản trị server. Không đau đầu vì Lambda function. (Tôi đã thấy nhiều bài trên diễn đàn từ developer mất cả ngày để chạy Selenium trên AWS Lambda — scheduler của Thunderbit bỏ qua hết những bước đó.)
Nếu muốn tìm hiểu sâu hơn về cách xây dựng , chúng tôi có một bài riêng đi rất kỹ.
Lập lịch bằng Python (cho developer)
Nếu bạn dùng cách SERP API, bạn có thể lên lịch chạy bằng cron job (Linux/Mac), Windows Task Scheduler hoặc các bộ lập lịch cloud như AWS Lambda hay Google Cloud Functions. Các thư viện Python như APScheduler cũng dùng được.
Đổi lại: giờ bạn phải tự chịu trách nhiệm giám sát trạng thái script, xử lý lỗi, xoay proxy theo lịch và cập nhật selector mỗi khi Google thay đổi trang. Với đa số đội ngũ, thời gian kỹ thuật để duy trì một Python scraper chạy định kỳ còn cao hơn chi phí dùng một công cụ chuyên dụng.
Mẹo và best practice khi trích xuất dữ liệu Google Shopping
Dù bạn dùng phương pháp nào, một vài lưu ý sau sẽ giúp bạn đỡ đau đầu.
Tôn trọng rate limit
Đừng dồn Google bằng hàng trăm request liên tiếp — bạn sẽ bị chặn, và IP của bạn có thể bị gắn cờ trong một thời gian. Với cách DIY: hãy giãn request cách nhau 10–20 giây và thêm độ trễ ngẫu nhiên. Công cụ và API sẽ tự lo phần này cho bạn.
Chọn phương pháp theo khối lượng dữ liệu
Hướng dẫn quyết định nhanh:
- < 10 truy vấn/tuần → Thunderbit gói miễn phí hoặc SerpApi gói miễn phí
- 10–1.000 truy vấn/tuần → gói trả phí của SERP API hoặc
- 1.000+ truy vấn/tuần → gói enterprise của SERP API hoặc Thunderbit Open API
Làm sạch và kiểm tra dữ liệu
Giá thường đi kèm ký hiệu tiền tệ, định dạng theo locale (1.299,00 € so với $1,299.00) và đôi khi có ký tự rác. Bạn có thể dùng Field AI Prompts của Thunderbit để chuẩn hóa ngay lúc trích xuất, hoặc làm sạch bằng pandas sau đó:
1df["price_num"] = df["price"].str.replace(r"[^\d.]", "", regex=True).astype(float)
Kiểm tra trùng lặp giữa danh sách organic và sponsored — chúng thường bị chồng lên nhau. Hãy loại trùng theo bộ (title, price, seller).
Hiểu bối cảnh pháp lý
Việc trích xuất dữ liệu sản phẩm công khai nhìn chung được xem là hợp pháp, nhưng bối cảnh pháp lý đang thay đổi rất nhanh. Diễn biến gần đây đáng chú ý nhất: theo DMCA § 1201 vì cho rằng họ đã vượt qua hệ thống chống scraping “SearchGuard” của Google. Đây là một hướng thực thi mới, khác với các tiền lệ bảo vệ trước đây như hiQ v. LinkedIn và Van Buren v. United States.
Nguyên tắc thực tế:
- Chỉ scrape dữ liệu công khai — đừng đăng nhập để lấy nội dung bị giới hạn
- Đừng trích xuất thông tin cá nhân (tên người review, thông tin tài khoản)
- Lưu ý rằng Điều khoản Dịch vụ của Google cấm truy cập tự động — dùng SERP API hoặc tiện ích trình duyệt sẽ giảm rủi ro pháp lý (nhưng không xóa hoàn toàn vùng xám)
- Với hoạt động tại EU, hãy lưu ý GDPR, dù danh sách sản phẩm chủ yếu là dữ liệu thương mại không mang tính cá nhân
- Nếu bạn xây dựng sản phẩm thương mại dựa trên dữ liệu scrape, nên tham khảo luật sư
Nếu muốn đọc kỹ hơn về , chúng tôi đã có bài phân tích riêng.
Nên dùng phương pháp nào để trích xuất dữ liệu Google Shopping?
Sau khi chạy cả ba cách trên cùng một nhóm danh mục sản phẩm, đây là kết luận của tôi:
Nếu bạn là người không rành kỹ thuật nhưng cần dữ liệu nhanh — hãy dùng Thunderbit. Mở Google Shopping, bấm hai lần, xuất dữ liệu. Bạn sẽ có một bảng tính sạch trong chưa đầy 5 phút. cho phép bạn thử mà không cần cam kết, và tính năng scrape trang con còn cho dữ liệu phong phú hơn hầu hết script Python.
Nếu bạn là developer cần truy cập ổn định, có thể lập trình lại — hãy dùng SERP API. Độ tin cậy đủ đáng giá so với chi phí theo truy vấn, và bạn tránh được toàn bộ rắc rối chống bot. SerpApi có tài liệu tốt nhất; ScraperAPI có gói miễn phí hào phóng nhất.
Nếu bạn cần tối đa quyền kiểm soát và đang xây pipeline tùy chỉnh — Playwright vẫn dùng được, nhưng hãy bước vào với tâm thế rõ ràng. Dành nhiều thời gian cho quản lý proxy, bảo trì selector và xử lý CAPTCHA. Trong 2025–2026, bộ công cụ tối thiểu để vượt qua rào cản là curl_cffi với giả lập Chrome + residential proxy + nhịp chạy 10–20 giây. Một script requests đơn giản với user-agent xoay vòng gần như đã “chết”.
Phương pháp tốt nhất là phương pháp giúp bạn có dữ liệu chính xác mà không nuốt mất cả tuần làm việc. Với đa số mọi người, đó không phải là một script Python 60 dòng — mà là hai cú click.
Hãy xem nếu bạn cần chạy khối lượng lớn, hoặc xem các hướng dẫn trên để thấy quy trình thực tế.
Câu hỏi thường gặp
Có hợp pháp để scrape dữ liệu Google Shopping không?
Việc trích xuất dữ liệu sản phẩm công khai nhìn chung là hợp pháp theo các tiền lệ như hiQ v. LinkedIn và Van Buren v. United States. Tuy nhiên, Điều khoản Dịch vụ của Google cấm truy cập tự động, và vụ kiện tháng 12 năm 2025 của Google đối với SerpApi đã đưa ra một hướng lập luận DMCA § 1201 mới. Dùng các công cụ và API uy tín sẽ giảm rủi ro. Với mục đích thương mại, nên tham khảo tư vấn pháp lý.
Tôi có thể scrape Google Shopping mà không bị chặn không?
Có, nhưng phương pháp rất quan trọng. SERP API xử lý chống bot tự động. Cloud Scraping của Thunderbit dùng hạ tầng phân tán để tránh bị chặn, còn chế độ Browser Scraping sử dụng phiên Chrome của chính bạn (trông giống người dùng bình thường). Các script Python tự làm cần residential proxy, độ trễ giống người dùng và quản lý TLS fingerprint — và ngay cả như vậy, bị chặn vẫn rất thường xuyên.
Cách dễ nhất để trích xuất dữ liệu Google Shopping là gì?
Thunderbit Chrome Extension. Mở Google Shopping, bấm “AI Suggest Fields”, bấm “Scrape” và xuất sang Google Sheets hoặc Excel. Không cần code, không cần API key, không cần cấu hình proxy. Toàn bộ quy trình mất khoảng 2 phút.
Tôi có thể scrape Google Shopping bao lâu một lần để theo dõi giá?
Với Scheduled Scraper của Thunderbit, bạn có thể thiết lập theo dõi hằng ngày, hằng tuần hoặc theo khoảng thời gian tùy chỉnh bằng mô tả ngôn ngữ tự nhiên. Với SERP API, tần suất phụ thuộc vào giới hạn credit của gói — đa số nhà cung cấp đủ cho việc theo dõi hằng ngày vài trăm SKU. Script DIY có thể chạy thường xuyên bao nhiêu tùy hạ tầng của bạn chịu được, nhưng tần suất càng cao thì càng nhiều rắc rối anti-bot.
Tôi có thể xuất dữ liệu Google Shopping sang Google Sheets hoặc Excel không?
Có. Thunderbit xuất trực tiếp sang Google Sheets, Excel, Airtable và Notion miễn phí. Script Python có thể xuất ra CSV hoặc JSON, sau đó bạn nhập vào bất kỳ công cụ bảng tính nào. Với theo dõi liên tục, các bản xuất theo lịch của Thunderbit sang Google Sheets sẽ tạo ra một bộ dữ liệu sống, tự cập nhật.
- Tìm hiểu thêm