Computer >> Hướng Dẫn Máy Tính >  >> Kết Nối Mạng >> Internet

Cách dùng công cụ cào dữ liệu (Data Scraping) trích xuất dữ liệu từ trang web

Nếu bạn copy-paste thủ công từ trang web vào spreadsheet, bạn hoặc không biết data scraping (web scraping) là gì, hoặc biết nhưng không muốn học code chỉ để tiết kiệm vài giờ click.

Cách nào, có nhiều công cụ cào dữ liệu no-code giúp bạn, và Data Miner Chrome extension là lựa chọn trực quan hơn. Nếu may mắn, task bạn làm đã có trong recipe book (sổ công thức) của tool, không cần qua bước point-and-click xây dựng riêng.

Data Miner hoạt động như thế nào?

Data Miner giúp lấy dữ liệu từ trang web vào file Excel/CSV đẹp bằng cách xem qua văn bản trang bạn load. Nghĩa là bạn cần thoải mái chút với HTML nhận ra vài pattern, nhưng không quá sâu. Kiến thức HTML/JS nâng cao chắc chắn giúp một số task nhưng không cần cho hầu hết. Bạn cũng nên có kỹ năng spreadsheet cơ bản để output sạch, tổ chức.

1. Cài đặt Data Miner

Dùng Chrome hoặc trình duyệt Chromium khác, cài extension. Biểu tượng cái rữa (pickaxe) extension hiện thanh công cụ, nhấn vào đưa đến trang thiết lập tài khoản. Phiên bản miễn phí cho 500 scrape/tháng, đủ trừ khi bạn làm hàng ngày.

2. Load dữ liệu

Đầu tiên, vào trang muốn trích xuất dữ liệu. Nếu nhiều trang dữ liệu hoặc một phần ẩn sau nút, không sao – có cách xử lý. Hiện tại, chỉ cần mẫu đại diện để chương trình biết tìm gì.

3. Kiểm tra recipe (công thức) có sẵn

Mở Data Miner, kiểm tra tab "Public" (Công khai) recipe có sẵn. Nếu trang phổ biến, người khác có thể đã tạo quy trình lấy dữ liệu bạn cần, tiết kiệm thời gian. Site như Google, Amazon, Twitter có nhiều recipe tải ngay link, giá, text, dữ liệu khác. Test recipe nhấn "Run" xem preview spreadsheet Data Miner tạo. Chỉnh recipe có sẵn nhấn "Edit".

4. Loại trang (Page type)

Ồ, không recipe có sẵn nào chạy. Không sao, tự tạo. Nhấn "New Recipe" (Công thức mới) bắt đầu.

Lựa chọn đầu: "List Page" (Trang danh sách) hoặc "Detail Page" (Trang chi tiết).

Chọn "List Page" nếu lấy nhiều hàng dữ liệu từ một trang. Ví dụ: tải link và tiêu đề mọi kết quả tìm kiếm, hoặc ngày và nội dung bài trong feed. Loại phổ biến nhất, dùng demo ở đây. (Bước Detail Page về cơ bản tương tự.)

Chọn "Detail Page" nếu nhiều thông tin khác nhau về một thứ trên một trang – trang sản phẩm, ví dụ, cần lấy giá, mô tả, link, rating gộp một hàng.

Bước 5: Tạo hàng (rows)

Nhấn nút "Find" (Tìm) di chuột cho hộp chọn vàng bao phủ tất cả dữ liệu cần cho một entry spreadsheet cuối. Ví dụ: tải kết quả tìm kiếm, highlight khu vực đủ lớn bao tiêu đề, URL, mô tả, mỗi cái cột riêng bước sau. Để chọn, nhấn Shift. Đừng lo nếu click nhầm; Data Miner lưu tiến trình recipe dù rời trang.

Sau đó tích ít nhất một ô "Element's Classes" hoặc "HTML Element Type". Lý tưởng, selection nhân bản bao phủ mọi element trang cùng category element bạn chọn.

Nếu selector không bao phủ tất cả cần, thử chọn một element nhấn "Select Parent" (Chọn cha). Hộp to ra và có thể bắt tất cả cần. Nếu không, đào HTML chút xác định class/type element cần. Khi băn khoăn, nhấn "Select Parent" cho đến khi hộp lớn nhất không bao phủ quá một entry danh sách, cho linh hoạt chọn cột.

Data Miner có "View Element's HTML" (Xem HTML element) dưới cùng và cho gõ custom selector. Nếu muốn lấy tất cả link trang có class "product", gõ a.product. Đơi kiến thức HTML/CSS cơ bản rất giúp.

Quay lại menu hàng chính, thấy "Row Count" (Số hàng) với số entry recipe tạo spreadsheet. Nếu không bắt hết, kiểm tra lại chọn hàng.

6. Chia dữ liệu thành cột (columns)

Khi đã chọn dữ liệu cho hàng, đến lúc làm đẹp bằng chia nhỏ thành category cột khác nhau. Mọi lựa chọn ở đây phải là sub-section hộp chọn cho hàng.

Tạo cột: gõ tên, dùng Find chọn muốn trích xuất, giống như làm cho hàng. Dữ liệu thường见: text, URL, image URL. Lấy URL hover text link hơi khó; có thể nhấn "select parent" đến level Element Type là <a>, thẻ HTML cho link.

Đảm bảo dữ liệu đúng loại cột, nhấn biểu tượng mắt bên phải tên cột, cạnh số cột đã chọn. Preview mọi entry hàng cột đó. Nếu sai, quay lại chỉnh tag/type chọn hàng. Đừng ngại mở HTML viewer kiểm tra pattern dữ liệu muốn lấy.

7. Bảo Data Miner cách sang trang tiếp

Nếu nhiều trang dữ liệu trích xuất, không muốn click qua từng trang chạy recipe lặp lại. Bảo Data Miner tìm nút điều hướng cần click sang trang tiếp. Cẩn thận đừng bảo click "Page 2", nó chỉ đi Page 2. Lại đảm bảo chọn element <a>, dùng Test Navigation (Kiểm tra điều hướng) đảm bảo chạy.

8. Bảo Data Miner click hoặc cuộn load dữ liệu

Một số trang không load dữ liệu cho đến khi click hoặc cuộn xuống. May mắn Data Miner cũng làm được! Dùng "Find" đầu trang (bạn nên thạo rồi) chọn element cần thao tác, đưa selector vào hộp thích hợp, test đảm bảo chạy.

Xác định selector chính xác kích hoạt element hoặc infinite scrollbar có thể khó, nhưng kiến thức HTML cơ bản và thử sai sẽ đi xa. Đa số thứ thao tác ở đây base trên JavaScript, nhưng Data Miner chỉ cần CSS selector liên kết hành động để kích hoạt, không cần lo code hầu hết trường hợp.

Bước sau cho thêm custom JS làm gì muốn, nhưng khá advanced vượt qua scraping cơ bản.

9. Lưu và chạy recipe

Chúc mừng! Giờ xem tất cả có gắn kết không. Chạy recipe trang bạn đang ở, kiểm tra preview xem hàng/cột hoạt động đúng không. Nếu không, quay lại edit recipe.

Nếu mọi thứ chạy đúng, dùng nút "Next Page" (Trang tiếp) bảo scraper crawl bao nhiêu trang và tốc độ nào. (Quá nhanh có thể hệ thống flag bạn là bot.)

Khi đã đủ dữ liệu, chọn định dạng file tải về.

Gặp khó khăn; có cách dễ hơn?

Nếu Data Miner không hợp, có nhiều tool cào dữ liệu khác: ParseHub, Scraper, Octoparse, Import.io, VisualScraper, v.v. Một số có interface trực quan hơn, tự động hóa hơn, nhưng vẫn cần biết chút HTML và cách web tổ chức. Điểm Data Miner đặc biệt cho beginner: thư viện recipe crowdsourced, có thể giúp tránh hoàn toàn gặp code. Kết hợp gói free scrape tháng hào phóng, công cụ khá decent cho hầu hết nhu cầu.