Microdata là gì?
API Scraping Toàn cầu Không Rác trả về các trang web cho quy trình trích xuất dữ liệu có cấu trúc, bao gồm cả các trang có nội dung hiển thị được xuất ra bằng JavaScript.
TL;DR
- Microdata chú thích HTML hiện có với ý nghĩa có thể đọc được bởi máy. Nó thêm các thuộc tính vào các phần tử thông thường thay vì giữ dữ liệu có cấu trúc trong một tài liệu riêng biệt.
- Một mục Microdata có một loại và các thuộc tính được đặt tên. Các thuộc tính cốt lõi xác định phạm vi, từ vựng, danh tính, tên thuộc tính và tham chiếu đến các phần tử không phải con cháu.
- Schema.org và Microdata là những lớp khác nhau. Schema.org cung cấp một từ vựng; Microdata cung cấp một cú pháp để gán từ vựng đó vào HTML.
- Microdata hữu ích nhưng liên kết chặt chẽ với đánh dấu trang. Thay đổi mẫu có thể làm hỏng các chú thích hoặc quy tắc trích xuất ngay cả khi trang hiển thị vẫn trông đúng.
- JSON-LD thường dễ bảo trì hơn cho đánh dấu tìm kiếm. Microdata vẫn hợp lệ và có thể là sự lựa chọn tốt hơn khi ngữ nghĩa nên gắn liền với các phần tử hiển thị.
Microdata là cú pháp dữ liệu có cấu trúc được tích hợp vào HTML. Nó cho phép một nhà xuất bản xác định một điều được mô tả trên một trang—như sản phẩm, sự kiện, người, công thức, hoặc bài viết—và gán nhãn cho các thuộc tính thuộc về điều đó. Trình duyệt vẫn hiển thị cùng tiêu đề, liên kết, hình ảnh và văn bản. Các thuộc tính bổ sung tạo ra một lớp có thể đọc được bởi máy bổ sung cho các trình phân tích, trình thu thập dữ liệu, hệ thống tìm kiếm, công cụ tiếp cận và phần mềm trích xuất dữ liệu.
Phần THÔNG TIN Microdata của chuẩn HTML xác định mô hình xử lý. Ngữ cảnh tiêu chuẩn đó rất quan trọng vì Microdata không phải là một widget trực quan hay một plugin cho công cụ tìm kiếm. Nó là một phần của tài liệu tự nó, và ý nghĩa của nó tuân theo các quy tắc về phạm vi mục, giá trị thuộc tính, URL và các mục lồng ghép.
Microdata đại diện cho một thực thể
Microdata đại diện cho một thực thể như một mục với không hoặc nhiều thuộc tính. Một mục bắt đầu trên một phần tử HTML mang theo itemscope thuộc tính. Thuộc tính tùy chọn itemtype cung cấp một hoặc nhiều URL từ vựng xác định loại thực thể mà mục đó đại diện. Các phần tử con mang theo itemprop góp phần giá trị đã đặt tên cho mục đó.
Giá trị không phải lúc nào cũng đến từ văn bản hiển thị. Một liên kết góp phần URL của nó, một hình ảnh góp phần URL nguồn của nó, một phần tử thời gian có thể góp phần một giá trị datetime có thể đọc được máy, và một phần tử meta có thể mang một giá trị không cần xuất hiện dưới dạng pro số thông thường. Do đó, một trình phân tích theo dõi các quy tắc giá trị của Microdata thay vì cắt bỏ thẻ và đọc bất kỳ văn bản nào còn lại.
Hai thuộc tính bổ sung bao gồm các mối quan hệ mà lồng ghép đơn giản không thể diễn đạt. itemid cấp cho một mục có kiểu nhận dạng toàn cầu khi từ vựng hỗ trợ một cái. itemref chỉ đến các phần tử khác trong cùng một tài liệu mà thuộc tính của chúng nên được bao gồm trong mục. Các tính năng này giúp ích cho các mẫu thực, nhưng chúng cũng có nghĩa là một công cụ trích xuất phải triển khai mô hình hoàn chỉnh thay vì quét các itemprop chuỗi riêng lẻ.
Thuộc tính Microdata tại một cái nhìn
| Thuộc tính | Vai trò | Sai lầm phổ biến |
|---|---|---|
| itemscope | Tạo một mục mới. | Thêm thuộc tính mà không có một mục chủ sở hữu rõ ràng. |
| itemtype | Liên kết mục với một loại từ vựng. | Sử dụng một nhãn khi một URL từ vựng tuyệt đối được mong đợi. |
| itemprop | Đặt tên cho một thuộc tính của mục hiện tại. | Giả định rằng văn bản hiển thị luôn là giá trị đã trích xuất. |
| itemid | Xác định một mục có kiểu ở cấp toàn cầu khi được phép. | Đối xử với nó như một khóa cơ sở dữ liệu tùy ý. |
| itemref | Bao gồm các thuộc tính từ các phần tử tham chiếu. | Bỏ qua các nút tham chiếu trong quá trình trích xuất. |
Nơi Schema.org Phù hợp
Schema.org là một từ vựng chung, trong khi Microdata là một cú pháp tuần tự. Tài liệu hướng dẫn bắt đầu của Schema.org các loại tài liệu như Sản phẩm và Sự kiện và các thuộc tính như tên, hình ảnh và ngày bắt đầu. Một nhà xuất bản có thể diễn đạt nhiều thuật ngữ tương tự đó bằng Microdata, RDFa hoặc JSON-LD. Thay đổi cú pháp không tự động làm thay đổi từ vựng hoặc mô hình thực thể dự kiến.
Sự phân biệt này ngăn chặn một lỗi lập kế hoạch phổ biến. Một nhóm có thể nói rằng họ “sử dụng Schema” trong khi các câu hỏi thực tế lại tách biệt: Các loại từ vựng nào mô tả đúng thực thể doanh nghiệp? Định dạng nào phù hợp với ngăn xếp hiển thị? Người tiêu dùng nào hỗ trợ sự kết hợp đã chọn? Quy tắc xác thực nào áp dụng cho một tính năng tìm kiếm nhất định? Trả lời những câu hỏi đó một cách độc lập sẽ tạo ra mã sạch hơn và việc trích xuất đáng tin cậy hơn.
Cách các Bộ phân tích Trích xuất Microdata
Một bộ trích xuất tuân thủ bắt đầu với các mục cấp cao, xác định loại và định danh của từng mục, sau đó giải quyết các giá trị thuộc tính từ những phần tử con và bất kỳ nút nào được tham chiếu. Các mục lồng cũng giữ lại các giá trị có cấu trúc thay vì bị phẳng thành văn bản không liên quan. Các thuộc tính có giá trị URL được giải quyết so với URL cơ bản của tài liệu, vì vậy giá trị cuối cùng có thể khác với thuộc tính nguyên văn tìm thấy trong HTML gốc.
Việc trích xuất sản xuất thêm một câu hỏi khác: tài liệu nào nên được phân tích? HTML máy chủ có thể đã chứa Microdata, hoặc một ứng dụng khách có thể thêm thuộc tính sau khi JavaScript thực thi. Một phản hồi HTTP thô và DOM đã kết xuất do đó có thể tiết lộ dữ liệu có cấu trúc khác nhau. Giai đoạn thu thập nên được ghi lại bên cạnh đầu ra để người dùng phía dưới biết liệu tập dữ liệu có phản ánh HTML gốc hay trạng thái đã được kết xuất bởi trình duyệt.
Microdata, JSON-LD và RDFa
Microdata đặt các thuộc tính trực tiếp vào các phần tử HTML. JSON-LD thường giữ một đối tượng JSON trong một khối kịch bản, tách biệt với nội dung hiển thị. RDFa cũng chú thích mã, nhưng nó đến từ mô hình dữ liệu RDF và hỗ trợ các mẫu dữ liệu liên kết vượt ra ngoài quy trình xuất bản Schema.org điển hình. Cả ba đều có thể diễn đạt dữ liệu có cấu trúc, nhưng chúng tạo ra các thỏa thuận bảo trì và trích xuất khác nhau.
Hướng dẫn dữ liệu có cấu trúc của Google Search Central khuyến nghị sử dụng JSON-LD khi cấu hình của một trang web hỗ trợ điều đó vì việc tách biệt khỏi trình bày làm cho dữ liệu lồng dễ bảo trì hơn. Khuyến nghị đó không làm mất giá trị Microdata. Microdata có thể hợp lý khi các mẫu đã liên kết mỗi thuộc tính ngữ nghĩa với một phần tử có thể nhìn thấy và tổ chức muốn chú thích di chuyển theo phần tử đó.
| Câu hỏi | Microdata | JSON-LD | RDFa |
|---|---|---|---|
| Nơi giá trị sống | Trên các phần tử HTML | Trong một khối JSON-LD | Trên các phần tử HTML |
| Liên kết trình bày | Cao | Thấp | Cao |
| Sức mạnh điển hình | Sự căn chỉnh nội dung nhìn thấy | Bảo trì mẫu | Biểu hiện dữ liệu liên kết |
| Nhu cầu trích xuất | Phân tích mục nhận thức HTML | Phân tích JSON cộng với xử lý đồ thị | Phân tích nhận thức RDFa |
Các chế độ thất bại Microdata thường gặp
Phạm vi vỡ là thất bại cơ bản nhất. Một thuộc tính có thể được đặt bên ngoài phần tử sở hữu mục liên quan, khiến cho bộ phân tích gán nó ở nơi khác hoặc bỏ qua nó. Các thực thể lồng cũng có thể được mô hình hóa không chính xác: một địa chỉ thường nên là một mục với các thuộc tính riêng của nó, không phải là một chuỗi tập hợp từ bất kỳ văn bản nào ở gần đó.
Sự trôi dạt từ vựng tạo ra một sai sót tinh tế hơn. Một tên thuộc tính có thể hợp lệ cho một loại nhưng không hợp lệ cho loại khác, hoặc một tính năng tìm kiếm có thể yêu cầu các trường mà từ vựng chung coi là tùy chọn. Do đó, việc xác thực nên diễn ra ở hai cấp độ: tính chính xác về cú pháp và mô hình dữ liệu, tiếp theo là các kiểm tra đủ điều kiện cụ thể cho người tiêu dùng. Việc vượt qua một bài kiểm tra không đảm bảo kết quả phong phú hay bất kỳ trình bày đặc biệt nào.
Sự thật trùng lặp là một rủi ro khác. Một trang web có thể chứa Microdata bên cạnh JSON-LD và tiết lộ các giá khác nhau, ngày tháng, hoặc URL chính thức trong mỗi lần. Các bộ trích xuất nên bảo tồn nguồn gốc và chọn một đại diện chính thức hoặc báo cáo sự mâu thuẫn. Các nhà xuất bản nên tạo ra tất cả các định dạng có cấu trúc từ một nguồn dữ liệu duy nhất thay vì chỉnh sửa chúng độc lập.
Cách sử dụng thực tiễn ngoài sự xuất hiện tìm kiếm
Trích xuất thực thể
Một trình thu thập thông tin có thể ánh xạ sản phẩm, sự kiện, tổ chức hoặc thuộc tính bài viết vào các hồ sơ có loại mà không cần suy luận mọi trường từ văn bản xung quanh.
Đảm bảo chất lượng
Một công việc giám sát có thể so sánh các giá trị có thể nhìn thấy với các giá trị có thể đọc được bằng máy và đánh dấu giá cả lỗi thời, thiếu định danh, hoặc tổn thất không hợp lệ.
Di chuyển nội dung
Một quy trình di chuyển có thể bảo tồn siêu dữ liệu thực thể trong khi di chuyển các trang giữa các hệ thống nội dung, miễn là việc ánh xạ từ vựng được xem xét.
Làm phong phú tập dữ liệu
Microdata có thể cung cấp tên, ngày tháng và mối quan hệ rõ ràng bổ sung cho việc trích xuất văn bản, mặc dù các giá trị vẫn yêu cầu xác thực.
Cách chọn và bảo trì Microdata
Chọn Microdata khi các chú thích ngữ nghĩa tự nhiên thuộc về các phần tử ổn định, được render trên server và nhóm phát triển cảm thấy thoải mái khi kiểm tra markup như một phần của mẫu. Ưu tiên JSON-LD khi đồ thị thực thể phức tạp, nhiều phần tử nhìn thấy góp phần vào một bản ghi, hoặc nội dung và trình bày thay đổi theo các lịch trình khác nhau. Ưu tiên RDFa khi các yêu cầu dữ liệu liên kết làm cho mô hình đồ thị của nó phù hợp hơn.
Bảo trì nên bao gồm các bài kiểm tra ở cấp độ mẫu, các trang được render đại diện, xác thực từ vựng, và kiểm tra theo từng người tiêu dùng. Theo dõi URL của trang, phương pháp capture, dấu thời gian trích xuất, loại đối tượng, giá trị thuộc tính thô, giá trị chuẩn hóa và kết quả xác thực. Những trường này khiến những thay đổi trở nên có thể giải thích được khi một thiết kế mới di chuyển một thuộc tính hoặc một kịch bản khách hàng trì hoãn việc chèn của nó.
Đối với việc thu thập quy mô web, việc thu thập và phân tích nên tách biệt. Scrapeless Universal Scraping API có thể cung cấp nội dung trang cho giai đoạn trích xuất, trong khi trình phân tích áp dụng các quy tắc Microdata và ánh xạ kết quả vào một sơ đồ sâu hơn ổn định. Xem qua giá Scrapeless khi ước tính chi phí thu thập cho khối lượng trang dự kiến.
Kết luận
Microdata là dữ liệu có cấu trúc gốc HTML: các mục định nghĩa các thực thể, các thuộc tính định nghĩa các giá trị, và một từ vựng cung cấp ý nghĩa chung. Nó hoạt động tốt khi các chú thích ngữ nghĩa vẫn khớp với các phần tử nhìn thấy ổn định. Việc sử dụng đáng tin cậy phụ thuộc vào việc phân tích mô hình mục hoàn chỉnh, thu được đại diện trang đúng, xác thực các quy tắc từ vựng, và theo dõi nguồn gốc khi có nhiều định dạng cấu trúc đồng tồn tại.
Sẵn sàng để Xây dựng một Quy trình Làm việc Dữ liệu Có cấu trúc?
Sử dụng Scrapeless để thu thập các trang web công khai, sau đó xác thực và ánh xạ Microdata vào các bản ghi mà đường ống của bạn có thể tin cậy.
Bắt đầu miễn phí →Câu hỏi thường gặp
Microdata có giống như Schema.org không?
Không. Microdata là một cú pháp HTML để diễn đạt các mục và thuộc tính, trong khi Schema.org là một từ vựng định nghĩa nhiều loại và tên thuộc tính thường được sử dụng. Các thuật ngữ của Schema.org cũng có thể được diễn đạt bằng JSON-LD hoặc RDFa.
Microdata có cải thiện xếp hạng tìm kiếm không?
Microdata giúp các người tiêu dùng được hỗ trợ hiểu thông tin có cấu trúc đủ điều kiện, nhưng việc thêm nó không đảm bảo sự tăng hạng hoặc một tính năng tìm kiếm cụ thể. Trang nhìn thấy, chất lượng nội dung, đủ điều kiện kỹ thuật, và các chính sách của người tiêu dùng vẫn áp dụng.
Có thể một trang sử dụng cả Microdata và JSON-LD không?
Có, một trang có thể chứa cả hai định dạng, nhưng các thực thể bị trùng lặp nên đồng thuận. Các giá cả, ngày tháng, định danh, hoặc URL chính thức mâu thuẫn tạo ra sự mơ hồ cho cả các trình xác thực và các đường ống trích xuất.
Một trình trích xuất nên đọc HTML nguồn hay DOM được render?
Trình trích xuất nên đọc đại diện chứa markup quyền lực. HTML nguồn nhanh hơn khi Microdata được render trên server; một DOM được render là cần thiết khi JavaScript thêm hoặc thay đổi các thuộc tính.
Một tập dữ liệu Microdata nên bảo tồn những gì?
Một tập dữ liệu hữu ích nên bảo tồn URL của trang, phương pháp capture, loại đối tượng, định danh đối tượng khi có, giá trị thuộc tính thô, giá trị chuẩn hóa, và kết quả xác thực. Nguồn gốc làm cho các điều chỉnh và kiểm toán sau này trở nên khả thi.