Khai Thác Dữ Liệu Là Gì?
API Thu Thập Dữ Liệu Không Rác trả về dữ liệu web công khai có cấu trúc trong khi API Thu Thập Dữ Liệu Toàn Cầu Scrapeless cung cấp nội dung trang cho các pipelines khai thác tùy chỉnh.
Tóm lại
- Khai thác dữ liệu đọc thông tin được chọn từ một nguồn. Nguồn có thể là cơ sở dữ liệu, tệp, API, tài liệu, hình ảnh, nhật ký, hoặc trang web.
- Khai thác chỉ là phần đầu tiên của một pipeline dữ liệu. Làm sạch, biến đổi, xác thực, và tải diễn ra sau khi các giá trị cần thiết được thu thập.
- Một sơ đồ làm cho việc khai thác có thể kiểm tra được. Tên trường, loại, giá trị bắt buộc, nguồn gốc, và quy tắc lỗi xác định cái gì là một bản ghi hợp lệ.
- Thu thập dữ liệu web là một hình thức khai thác dữ liệu. Nó tập trung vào các nguồn web công khai và thường kết hợp việc truy xuất, phân tích HTML, và logic lựa chọn.
Khai thác dữ liệu là quy trình đọc các giá trị đã chọn từ một hoặc nhiều nguồn và đại diện chúng dưới dạng mà một hệ thống khác có thể sử dụng. Khai thác có thể sao chép các hàng cơ sở dữ liệu có cấu trúc, phân tích các trường từ JSON, nhận diện các giá trị trong tài liệu, hoặc biến nội dung web thành các bản ghi.
Khai Thác Dữ Liệu Làm Việc Như Thế Nào?
Khai thác dữ liệu bắt đầu với một hợp đồng nguồn và kết thúc với các bản ghi tuân thủ một sơ đồ mục tiêu.
- Xác định nguồn. Định nghĩa cơ sở dữ liệu, API, tệp, tài liệu, hoặc trang có chứa dữ liệu cần thiết.
- Định nghĩa các trường. Chỉ định tên, loại, giá trị bắt buộc, đơn vị, và dữ liệu bỏ lỡ chấp nhận được.
- Đọc nguồn. Sử dụng truy vấn, bộ phân tích, client API, mô hình tài liệu, hoặc trình duyệt để truy cập nội dung liên quan.
- Ánh xạ giá trị nguồn. Chuyển đổi các vị trí đặc thù trong nguồn thành các tên trường ổn định và bảo tồn nguồn gốc.
- Xác thực bản ghi. Kiểm tra các trường bắt buộc, loại, phạm vi, mối quan hệ, và khóa trùng trước khi tải.
Mô hình lấy đi-biến đổi-tải quen thuộc làm cho ranh giới rõ ràng: ETL bắt đầu bằng việc đọc dữ liệu từ nguồn gốc ban đầu của nó, sau đó biến đổi và tải nó vào một hệ thống khác.
Đối với các nguồn web, khai thác thường bắt đầu sau khi thuật toán phân tích HTML tạo một cây tài liệu có thể truy vấn. Khai thác dựa trên API theo mô hình yêu cầu và đại diện được định nghĩa bởi các đặc tả ngữ nghĩa HTTP.
Các Loại Dữ Liệu Nào Có Thể Được Khai Thác?
Khai thác dữ liệu có thể làm việc với các nguồn có cấu trúc, bán cấu trúc, và không cấu trúc.
| Loại Nguồn | Ví dụ | Phương Pháp Thông Thường |
|---|---|---|
| Có Cấu Trúc | Bảng quan hệ, bảng tính | các truy vấn SQL, ánh xạ cột |
| Bán Cấu Trúc | JSON, XML, HTML, nhật ký | Các bộ phân tích, đường dẫn, bộ chọn |
| Không Cấu Trúc | PDF, hình ảnh, văn bản tự do, âm thanh | phân tích bố cục, OCR, xử lý văn bản hoặc phương tiện |
| Luồng | Sự kiện, telemetry, hàng đợi thông điệp | Người tiêu dùng, bộ lọc, xác thực lược đồ |
Các phương pháp trích xuất dữ liệu phổ biến
Các phương pháp trích xuất từ truy vấn trực tiếp đến xử lý tài liệu hỗ trợ mô hình.
Truy vấn cơ sở dữ liệu
Chọn các cột và hàng đã biết từ các hệ thống có cấu trúc bằng cách sử dụng bộ lọc và nối.
Lấy thông tin API
Gọi một điểm cuối được tài liệu hóa và ánh xạ một phản hồi đã định nghĩa vào lược đồ mục tiêu.
Phân tích tệp và tài liệu
Đọc CSV, JSON, XML, HTML hoặc các cấu trúc tài liệu và chọn các trường cần thiết.
Nhận diện và phân loại
Phát hiện văn bản, nhãn, thực thể, hoặc các vùng bảng trong các nguồn không cung cấp các trường sẵn có.
Trích xuất dữ liệu so với Chuyển đổi dữ liệu
Trích xuất đọc giá trị từ một nguồn; chuyển đổi thay đổi các giá trị đó hoặc cấu trúc của chúng.
Sao chép một chuỗi giá giá từ một trang là trích xuất. Xóa ký hiệu tiền tệ, chuyển đổi giá trị sang số thập phân, chuẩn hóa tiền tệ, hoặc tổng hợp giá hàng ngày là chuyển đổi. Giữ cho ranh giới này rõ ràng giúp dễ dàng phát hiện lỗi.
Điều gì làm cho dữ liệu trích xuất trở nên đáng tin cậy?
Dữ liệu trích xuất đáng tin cậy có thể truy nguyên về nguồn gốc của nó, được xác thực theo lược đồ, và được theo dõi độ trôi.
- Bảo toàn nguồn gốc. Lưu trữ định danh nguồn, thời gian thu thập, và quy tắc trích xuất cùng với bản ghi khi thích hợp.
- Xác thực loại và ý nghĩa. Một giá trị có thể phân tích dưới dạng số và vẫn đại diện cho đơn vị hoặc ngữ cảnh sai.
- Đo lường tính đầy đủ. Theo dõi các trường cần thiết bị thiếu, khóa trùng lặp, và số lượng bản ghi không mong đợi.
- Giảm thiểu thu thập. Chỉ trích xuất các trường cần thiết cho mục đích đã nêu và áp dụng các biện pháp kiểm soát lưu giữ.
Làm thế nào bạn định nghĩa một hợp đồng trích xuất?
Một hợp đồng trích xuất mô tả những gì nguồn được mong đợi cung cấp và những gì quy trình hứa hẹn phát ra. Nó nên nêu tên hệ thống nguồn, phương pháp truy cập, lược đồ, kỳ vọng làm mới, quyền sở hữu và các điều kiện làm cho một bản ghi hợp lệ. Điều này biến trích xuất từ một kịch bản một lần thành một giao diện mà người dùng phía dưới có thể phụ thuộc vào.
Mỗi trường cần một định nghĩa nguồn và một định nghĩa mục tiêu. Định nghĩa nguồn xác định một cột cơ sở dữ liệu, đường dẫn JSON, khu vực tài liệu, bộ chọn DOM hoặc thuộc tính phản hồi. Định nghĩa mục tiêu nêu tên đầu ra, loại, khả năng null, đơn vị và quy tắc chuẩn hóa. Nếu nguồn thay đổi ý nghĩa giữa các loại trang hoặc vùng, hợp đồng nên đại diện cho sự biến đổi đó thay vì ẩn giấu nó trong mã chuyển đổi.
Các hợp đồng cũng mô tả sự cố. Một trường tùy chọn bị thiếu khác với một nguồn không thể đọc được, một loại trang không được hỗ trợ, hoặc một trường bắt buộc không hợp lệ. Các trạng thái phân biệt cho phép các hệ thống phía dưới quyết định liệu có chấp nhận một bản ghi một phần, cách ly nó để xem xét, hoặc dừng việc tải lên.
Trích xuất toàn bộ so với Trích xuất gia tăng
Trích xuất toàn bộ đọc toàn bộ tập dữ liệu đã được phê duyệt từ nguồn. Nó đơn giản để suy nghĩ về và hữu ích cho các tải lần đầu hoặc nguồn nhỏ, nhưng việc đọc toàn bộ lặp đi lặp lại có thể di chuyển dữ liệu không thay đổi và làm cho tác động nguồn khó kiểm soát hơn. Quy trình cũng phải xác định cách một ảnh chụp toàn bộ thay thế hoặc hòa giải các bản ghi trước đó.
Trích xuất gia tăng chỉ đọc dữ liệu mới hoặc đã thay đổi kể từ một điểm kiểm tra đã biết. Một nguồn có thể tiết lộ thời gian sửa đổi, giá trị trình tự, luồng thay đổi, định danh phiên bản, hoặc con trỏ phân trang ổn định. Điểm kiểm tra phải được lưu trữ bền vững và chỉ được nâng cao sau khi lô trích xuất được xác thực và an toàn được chuyển xuống phía dưới.
Các nguồn web thường thiếu một luồng thay đổi đáng tin cậy. Trong trường hợp đó, hành vi gia tăng có thể sử dụng phát hiện trang theo lịch, yêu cầu điều kiện, băm nội dung, hoặc so sánh các khóa bản ghi ổn định. Hãy rõ ràng về các điểm mù: một trang có thể thay đổi và trở về nội dung trước đó giữa các quan sát, và thời gian sửa đổi có thể bị thiếu hoặc không chính xác.
Làm thế nào chất lượng trích xuất được đo lường?
Chất lượng trích xuất có nhiều yếu tố. Tính đầy đủ hỏi xem các bản ghi và trường cần thiết có hiện diện không. Độ chính xác hỏi xem các giá trị có khớp với nguồn gốc và giữ nguyên ý nghĩa của chúng không. Tính nhất quán hỏi xem cùng một quy tắc có được áp dụng cho các bản ghi không. Tính kịp thời hỏi xem dữ liệu có đủ mới cho quyết định dự kiến không.
Đo lường chất lượng ở các cấp trường, bản ghi, lô, và nguồn. Các kiểm tra trường phát hiện các loại hoặc đơn vị không hợp lệ. Các kiểm tra bản ghi phát hiện các tổ hợp không thể xảy ra và các định danh bị thiếu. Các kiểm tra lô phát hiện khối lượng không mong đợi hoặc các khóa trùng lặp. Các kiểm tra nguồn so sánh đại diện cho việc trích xuất với các trang đại diện, phản hồi API, hoặc truy vấn cơ sở dữ liệu.
Đừng phụ thuộc vào một cờ thành công duy nhất. Một yêu cầu có thể thành công trong khi trả về một trang lỗi, một trạng thái trống, hoặc một địa phương không mong đợi. Một bộ phân tích có thể tạo ra đầu ra cú pháp hợp lệ với các trường sai ngữ nghĩa. Các quy tắc chất lượng phải kiểm tra ý nghĩa của dữ liệu, chứ không chỉ xem liệu mã có thực thi hay không.
Bạn làm thế nào để bảo toàn nguồn gốc dữ liệu?
Nguồn gốc dữ liệu kết nối mỗi giá trị đầu ra với nguồn gốc và lịch sử xử lý của nó. Tối thiểu, giữ lại một định danh nguồn, thời gian thu thập, phiên bản trích xuất, và quy tắc hoặc đường dẫn đã tạo ra trường. Các dự án nhạy cảm có thể cần các phê duyệt và siêu dữ liệu lưu giữ bổ sung, trong khi các tập dữ liệu công cộng đơn giản có thể chỉ cần một URL và định danh thu thập.
Nguồn gốc là hữu ích nhất khi nó sống sót qua chuyển đổi. Nếu một chuỗi giá hiển thị trở thành một số thập phân chuẩn hóa và mã tiền tệ, hãy bảo tồn giá trị thô hoặc một tham chiếu có thể truy được đến nó. Khi một quy tắc sau này thay đổi, các đánh giá viên có thể phân biệt một sửa chữa nguồn từ một thay đổi chuyển đổi.
Các lược đồ phiên bản và ánh xạ trích xuất một cách có chủ đích. Một trường mới có thể tương thích ngược, trong khi việc thay đổi ý nghĩa hoặc đơn vị của một trường hiện có có thể yêu cầu một phiên bản lược đồ mới. Các người tiêu dùng phía dưới nên biết phiên bản nào đã tạo ra mỗi lô và khi nào cần chuyển đổi.
Trích xuất xử lý dữ liệu nhạy cảm như thế nào?
Việc tối thiểu hóa dữ liệu bắt đầu trước khi truy cập. Liệt kê các trường cần thiết cho mục đích đã nêu và loại trừ các giá trị tiện lợi nhưng không cần thiết. Sự công khai không làm mất đi quyền riêng tư, các điều khoản hợp đồng, bảo mật hoặc các cân nhắc đạo đức, đặc biệt khi thông tin có thể xác định hoặc lập hồ sơ con người.
Áp dụng kiểm soát truy cập cho thông tin xác thực khai thác, bản ghi thô, tệp trung gian và dữ liệu cuối cùng. Nhật ký nên ghi lại các chứng cứ hoạt động mà không sao chép dữ liệu nhạy cảm. Các quy tắc giữ lại nên chỉ định thời điểm dữ liệu thô và dữ liệu phát sinh bị xóa, và xuất khẩu nên được giới hạn cho những người tiêu thụ được phê duyệt.
Xem xét các điều khoản nguồn, quyền tài phán, các ràng buộc về sở hữu trí tuệ và trường hợp sử dụng sau đó. Nếu dự án liên quan đến dữ liệu cá nhân, bị hạn chế hoặc có tác động lớn, hãy tham gia các nhà đánh giá pháp lý, quyền riêng tư và bảo mật trước khi thu thập. Một phương pháp khai thác kỹ thuật hợp lệ không xác định liệu việc sử dụng kết quả có phù hợp hay không.
Kết luận
Việc khai thác dữ liệu di chuyển các giá trị được chọn ra khỏi nguồn và vào một cấu trúc bản ghi xác định. Các quy trình làm việc mạnh mẽ nhất coi sơ đồ, nguồn gốc, xác minh và tối thiểu hóa là một phần của thiết kế khai thác thay vì là làm sạch được thêm vào sau.
Sẵn sàng xây dựng quy trình làm việc dữ liệu web của bạn?
Sử dụng Scrapeless để lấy nội dung web công khai, sau đó áp dụng mẫu phát hiện và khai thác phù hợp với tập dữ liệu của bạn.
Bắt đầu miễn phí →Câu hỏi thường gặp
Khai thác dữ liệu có phải là giống như ETL không?
Không. Khai thác dữ liệu là giai đoạn đầu tiên của ETL; chuyển đổi và tải là các giai đoạn riêng biệt thay đổi và lưu trữ các giá trị đã khai thác.
Việc cạo web có phải là một phương pháp khai thác dữ liệu không?
Có. Việc cạo web khai thác dữ liệu đã chọn từ các nguồn web và thường thêm logic thu thập, phân tích và chọn lựa.
Có thể khai thác dữ liệu một cách thủ công không?
Có. Sao chép các giá trị vào bảng tính là khai thác thủ công, nhưng khai thác tự động thì dễ lặp lại, xác minh và mở rộng hơn.
Mô hình khai thác là gì?
Một mô hình khai thác xác định các trường, loại, giá trị yêu cầu và mối quan hệ dự kiến cho mỗi bản ghi đầu ra.