Sitemap là gì? Cấu trúc XML, Khám phá và Giới hạn
Trình duyệt thu thập dữ liệu không đáng kể bổ sung cho việc khám phá dựa trên sitemap bằng cách hiển thị các trang mà các liên kết nội bộ của chúng chỉ xuất hiện sau khi JavaScript thực thi.
TL; DR
- Sitemap mô tả một phần có thể quan sát về cách các trang web hoặc hệ thống web hoạt động. Định nghĩa hữu ích liên kết khái niệm với dữ liệu, trạng thái và các yêu cầu mà một quy trình làm việc có thể xác thực.
- HTML phản hồi và trạng thái trình duyệt không thể hoán đổi cho nhau. Một số giá trị có sẵn ngay lập tức, trong khi những giá trị khác cần phải được hiển thị, tương tác hoặc một phản hồi có cấu trúc sau đó.
- Chọn phương pháp nhẹ nhất trả về dữ liệu hoàn chỉnh. Phân tích HTML khi nó đủ, kiểm tra các yêu cầu có cấu trúc khi thích hợp, và sử dụng trình duyệt khi việc thực thi của trình duyệt là rất quan trọng.
- Hoàn thành phải được chứng minh bằng chứng nội dung. Các định danh ổn định, trạng thái kết thúc rõ ràng và các điều kiện sẵn sàng cụ thể nguồn an toàn hơn so với các độ trễ cố định.
- Việc thu thập có trách nhiệm tôn trọng các quy tắc truy cập công bố và năng lực. Tính khả thi công khai không làm mất đi các điều kiện, nghĩa vụ pháp lý, chỉ thị cho robot, hoặc các điều khiển tốc độ.
Sitemap là gì?
Một sitemap là một tệp có thể đọc bởi máy móc tuyên bố các URL mà chủ sở hữu trang web muốn các công cụ thu thập thông tin khám phá. XML là định dạng phổ biến nhất, mặc dù các tệp văn bản và nguồn cấp dữ liệu cũng có thể được các công cụ tìm kiếm sử dụng. Một sitemap giúp việc khám phá; nó không đảm bảo rằng mọi URL được liệt kê sẽ được thu thập, lập chỉ mục, xếp hạng hoặc được xem như chuẩn.
Trong giao thức XML, một sitemap chứa một tập hợp URL với một mục URL cho mỗi tài nguyên. Mỗi mục yêu cầu một vị trí và có thể bao gồm metadata tùy chọn như thời gian sửa đổi có ý nghĩa cuối cùng. Các phần mở rộng hình ảnh, video, tin tức và ngôn ngữ thay thế có thể thêm thông tin chuyên biệt khi được công cụ thu thập thông tin nhận hỗ trợ.
Một chỉ mục sitemap chỉ tới nhiều tệp sitemap. Nó cho phép các trang web lớn phân chia hàng hóa theo loại nội dung, ngày tháng, địa phương hoặc chủ sở hữu hoạt động. Chỉ mục là một thư mục của các tệp sitemap, không phải là một sự thay thế cho các mục URL ở bên trong chúng. Các công cụ thu thập thông tin có thể chỉ lấy các tệp con đã thay đổi khi thông tin metadata sửa đổi chính xác.
Phân biệt chính là thực tiễn: một quy trình làm việc dữ liệu nên xác định layer sở hữu giá trị mục tiêu. Layer đó có thể là phản hồi tài liệu, bộ nhớ trình duyệt, một nút đã hiển thị, một phản hồi nền hoặc một chính sách phía máy chủ. Khi layer đã được biết, quy trình làm việc có thể thu thập giá trị với ít giả định hơn và xác thực nó với hành vi trang mà người dùng thực sự nhận được.
Cách Sitemap hoạt động
Sitemap trở nên dễ lý luận hơn khi quy trình được chia thành các giai đoạn có thể quan sát. Mỗi giai đoạn tạo ra bằng chứng có thể được kiểm tra trong phản hồi, trình duyệt, nhật ký mạng, hoặc tập hồ sơ chi tiết đã được trích xuất.
Nhà xuất bản tạo ra tệp
Một CMS, quy trình xây dựng, hoặc một công việc chuyên dụng chọn các URL công khai chuẩn và tuần tự hóa chúng theo định dạng được hỗ trợ. Việc tạo ra nên phản ánh các quy tắc URL giống như những gì được sử dụng bởi trang web đang hoạt động.
Tệp được công khai
Các trang web thường lưu trữ một sitemap hoặc chỉ mục tại một URL công khai ổn định và có thể quảng cáo vị trí đó trong robots.txt hoặc gửi nó qua các công cụ của công cụ tìm kiếm.
Các công cụ thu thập thông tin lấy và phân tích nó
Người tiêu dùng xác thực mã hóa, cấu trúc XML, phạm vi máy chủ, và các URL tuyệt đối trước khi thêm các mục vào hàng đợi khám phá.
Hành vi URL được kiểm tra riêng biệt
Liệt kê một URL nói rằng nhà xuất bản muốn nó được khám phá. Trình thu thập thông tin vẫn đánh giá mã trạng thái, chuyển hướng, tín hiệu chuẩn, nội dung, và quy tắc truy cập.
Tính mới ảnh hưởng đến tính hữu ích
Các mục lâu lắm thường lãng phí sự chú ý của thu thập dữ liệu và các mục thiếu khiến việc khám phá bị trì hoãn. Các dấu thời gian sửa đổi chính xác chỉ hữu ích khi chúng đại diện cho những thay đổi trang có ý nghĩa.
Các giai đoạn này có thể chồng chéo, lặp lại, hoặc được xử lý bởi các hệ thống khác nhau. Kế hoạch trích xuất do đó nên theo dõi yêu cầu và chuỗi trạng thái thực tế hơn là giả định rằng một sự kiện tải trang đại diện cho toàn bộ vòng đời. Các công cụ phát triển trình duyệt hữu ích vì chúng đặt tài liệu, mạng, lưu trữ và chế độ chạy bên cạnh nhau.
Các hình thức chính và các khái niệm liên quan
Các phân biệt sau ngăn ngừa các lỗi phân loại chung. Chúng cũng giúp các nhóm chọn một bộ phân tích, khách hàng HTTP, trình duyệt, lập lịch, hoặc chính sách thu thập cho công việc.
| Khái niệm | Nó đại diện cho | Sử dụng điển hình |
|---|---|---|
| sitemap XML | Các URL cộng với metadata và phần mở rộng tùy chọn | Khám phá tìm kiếm chung và hàng hóa lớn |
| chỉ mục sitemap | Tham chiếu đến nhiều tệp sitemap | Các trang web phân vùng hoặc lớn |
| sitemap văn bản | Một URL tuyệt đối trên mỗi dòng | Các hàng hóa đơn giản không có metadata |
| Sơ đồ HTML | Trang dành cho con người với các liên kết nội bộ | Trợ giúp điều hướng hơn là giao thức XML |
Một nhãn chỉ có ích khi nó dự đoán hành vi. Nếu hai lộ trình trên cùng một trang web trả về dữ liệu qua các lớp khác nhau, hãy coi chúng như các bề mặt trích xuất khác nhau ngay cả khi nhóm sản phẩm mô tả chúng bằng một thuật ngữ kiến trúc duy nhất. Quan sát cấp độ lộ trình thường vượt qua giả định toàn miền.
Tại sao điều này quan trọng cho việc thu thập dữ liệu web
Việc thu thập dữ liệu web thường thất bại âm thầm khi nó đọc lớp sai. Một trình phân tích cú pháp có thể trả về HTML hợp lệ nhưng thiếu các bản ghi mục tiêu. Một trình duyệt có thể tạo ra một giao diện thuyết phục trong khi một yêu cầu cần thiết bị từ chối. Một chuỗi có thể trả về đầy đủ các lô hàng trong khi lặp lại các bản ghi giống hệt nhau. Các kiểm tra dưới đây kết nối sơ đồ trang web với chất lượng dữ liệu hơn là sở thích công cụ.
Hồ sơ URL giống như hạt giống
Một trình thu thập có thể phân tích cây sơ đồ trước khi theo dõi các liên kết trên trang web. Điều này nhanh chóng lộ diện các trang sâu mà điều hướng không phơi bày.
So sánh tuyên bố với thực tế
So sánh các URL sơ đồ với một lần thu thập trực tiếp để tìm các trang mồ côi, các trang không được liệt kê, các chuyển hướng, hoặc các mục đã lỗi thời.
Xử lý theo từng phân đoạn
Các tệp sơ đồ riêng biệt thường tiết lộ các nhóm hoạt động hữu ích như sản phẩm, bài viết, địa điểm, hình ảnh, hoặc các biến thể ngôn ngữ.
Thêm khám phá đã được xử lý
Sơ đồ có thể không đầy đủ. Việc hiển thị điều hướng nặng JavaScript và theo dõi các liên kết công khai sẽ thêm các URL mà hồ sơ đã tuyên bố bỏ qua.
Trình duyệt là một tùy chọn bên trong cây quyết định đó. Trang sản phẩm Trình duyệt Scrapeless Scraping mô tả bề mặt trình duyệt được quản lý, trong khi đó tài liệu bắt đầu Scraping Browser bao gồm các thông số kết nối và phiên. Sử dụng hiển thị trình duyệt chỉ cho các trạng thái yêu cầu thực thi của trình duyệt, và giữ cho các đường dẫn lấy và phân tích đơn giản hơn cho nội dung đã có trong các phản hồi.
Một quy trình chẩn đoán thực tiễn
Một chẩn đoán đáng tin cậy bắt đầu bằng việc so sánh, không phải mã tự động hóa. Bảo tồn phản hồi đầu tiên, quan sát giao diện trực tiếp và kết nối mỗi trường mục tiêu với sự kiện hoặc tài nguyên tạo ra nó.
- Kiểm tra robots.txt cho mọi chỉ thị sơ đồ, sau đó kiểm tra các vị trí gốc phổ biến chỉ để làm phương án dự phòng. Một trang web có thể công bố nhiều tệp hoặc một chỉ mục chéo.
- Phát hiện xem tệp đã thu thập có phải là một tập hợp URL hay một chỉ mục sơ đồ. Xử lý tuần tự các vị trí sơ đồ con trong khi ngăn chặn vòng lặp và tải xuống trùng lặp.
- Xác thực rằng các vị trí là tuyệt đối, được thoát đúng cách và nằm trong phạm vi máy chủ hoặc đường dẫn được phép cho vị trí của sơ đồ.
- Chuẩn hóa các URL cẩn thận nhưng giữ các sự phân biệt mà trang web coi là chính thức. Không xóa các khác biệt về chữ cái, đường dẫn, địa phương hoặc truy vấn có ý nghĩa mà không có chứng cứ.
- Lấy mẫu các URL đã liệt kê và xác minh trạng thái cuối cùng, đích chuyển hướng, mục tiêu chính thức và nội dung. Một sơ đồ cú pháp hợp lệ vẫn có thể chứa các mục không hoạt động.
Ghi lại kết quả dưới dạng một hợp đồng trích xuất nhỏ: mẫu URL mục tiêu, ngữ cảnh công khai, lớp nguồn, điều kiện sẵn sàng, bộ chọn hoặc trường phản hồi, khóa duy nhất, quy tắc tiếp tục, quy tắc kết thúc và các kiểm tra xác thực. Hợp đồng này bền hơn một kịch bản chứa cùng những giả định mà không đặt tên chúng.
Sử dụng chứng cứ từ tài liệu kỹ thuật chính khi định nghĩa hợp đồng. Các nền tảng liên quan cho chủ đề này bao gồm giao thức XML của sơ đồ trang web hướng dẫn tạo sơ đồ của Google. Những nguồn đó mô tả hành vi nền tảng và giao thức; hành vi trực tiếp của trang web mục tiêu vẫn cần quan sát của chính nó.
Những sai lầm phổ biến
Hầu hết các thất bại xung quanh sơ đồ xuất phát từ việc thay thế một tín hiệu thuận tiện cho trạng thái thực tế mà quy trình cần. Những sai lầm sau đây có thể trả về đầu ra hợp lý, điều này khiến chúng nguy hiểm hơn so với một lỗi rõ ràng.
- Xem xét một sơ đồ như một danh sách đầy đủ của trang web bỏ lở các trang không được liệt kê và các trang được phát hiện qua JavaScript.
- Xem xét mọi URL đã liệt kê là có thể lập chỉ mục bỏ qua các quy tắc truy cập, chỉ thị noindex, tín hiệu chính thức và trạng thái phản hồi.
- Sử dụng thời gian sửa đổi tệp cho mọi URL khiến siêu dữ liệu độ mới trở nên ồn ào và ít hữu ích hơn.
- Quên các chỉ mục sơ đồ khiến một trình thu thập thu thập các URL tệp con thay vì các URL nội dung thực.
- Trộn lẫn máy chủ hoặc các URL tương đối không hợp lệ có thể đẩy các mục ra ngoài phạm vi dự kiến của giao thức.
Bảo vệ chống lại những thất bại này bằng cách khẳng định ở cấp độ nội dung. Yêu cầu một container đã biết, ít nhất một khóa ổn định khi kết quả được kỳ vọng, không có khóa trùng lặp bên trong một lô, thứ tự nhất quán nơi thứ tự quan trọng, và một trạng thái rỗng hoặc kết thúc được công nhận. Lưu trữ đủ ngữ cảnh để phục hồi một kết quả nghi vấn mà không ghi lại thông tin đăng nhập hoặc dữ liệu riêng tư.
Thực hành tốt nhất cho một quy trình có thể bảo trì
Ưu tiên ý nghĩa ổn định hơn vị trí trực quan. Các bộ chọn và quy tắc nên mô tả vai trò của một giá trị, không phải vị trí tạm thời của nó trong một bố cục. Khi một phản hồi có cấu trúc là nguồn công khai chính thức được sử dụng bởi trang, hãy bảo tồn ánh xạ trường liên quan và xác thực nó so với nhãn đã được xử lý.
Làm cho trạng thái rõ ràng. Ghi lại địa phương, viewport, lộ trình, giả định phiên công khai, bộ lọc, thứ tự sắp xếp, và các giá trị tiếp tục. Một giá trị mà không có trạng thái của nó có thể không thể so sánh với một bản chụp sau đó.
Tách riêng khám phá, lấy, hiển thị và trích xuất. Mỗi giai đoạn có chi phí và chế độ thất bại khác nhau. Việc tách biệt cho phép một công việc chỉ hiển thị các URL cần thiết, xử lý lại các phản hồi đã lưu mà không cần giao thông mới, và xem xét các bản ghi chưa hoàn thiện trước khi chúng vào các hệ thống hạ lưu.
Sử dụng công việc có giới hạn. Định nghĩa các trang tối đa, hành động cuộn, yêu cầu đang hoạt động và bản ghi cho mỗi lần chạy. Các giới hạn bảo vệ cả dịch vụ mục tiêu và hệ thống thu thập khi có vòng kiểm soát tiếp theo, một con trỏ lặp lại hoặc một trang tạo không gian thu thập không mong đợi.
Tôn trọng nhà xuất bản và người dùng. Kiểm tra robots.txt khi áp dụng, tuân theo các điều khoản và luật pháp, chỉ thu thập các trường công khai cần thiết cho một mục đích xác định, tránh các khu vực riêng tư hoặc bị hạn chế, và giữ khối lượng yêu cầu trong một phạm vi bảo thủ. Truy cập kỹ thuật không giống như quyền cho mỗi sử dụng.
Kết luận
Sitemap hữu ích nhất như một mô hình hoạt động: xác định nơi dữ liệu tồn tại, quan sát cách trạng thái đó được sản xuất, và chọn phương pháp thu thập nhỏ nhất có thể tái tạo được nó. Quy trình làm việc mạnh nhất so sánh trạng nguồn và trạng thái đã được hiển thị, theo các tín hiệu tiếp tục rõ ràng, và xác thực bản ghi với các khóa bền vững.
Bắt đầu với một URL đại diện và viết hợp đồng trích xuất trước khi mở rộng. Bước nhỏ đó làm lộ ra thời gian ẩn, định tuyến, phân trang, và giả định chính sách khi chúng vẫn còn rẻ để sửa chữa. Mở rộng chỉ sau khi quy trình làm việc có thể giải thích tại sao mỗi bản ghi hoàn chỉnh và từng trường đến từ đâu.
Sẵn sàng kiểm tra các trang điều khiển bằng JavaScript?
Sử dụng Scrapeless Scraping Browser khi một trang công cộng yêu cầu thực thi trình duyệt, tương tác, hoặc kiểm tra trạng thái đã được hiển thị.
Bắt đầu miễn phí →Câu hỏi thường gặp
Sitemap là gì trong các thuật ngữ đơn giản?
Sitemap là một tệp liệt kê các URL mà chủ sở hữu trang web muốn các trình thu thập dữ liệu phát hiện, thường với siêu dữ liệu tùy chọn về thời gian thay đổi của các trang.
Liệu một sitemap có đảm bảo việc lập chỉ mục không?
Không. Một sitemap là một gợi ý phát hiện. Các công cụ tìm kiếm vẫn quyết định có thu thập dữ liệu và lập chỉ mục từng URL hay không dựa trên quyền truy cập, chất lượng, độ trùng lặp, và các tín hiệu khác.
Sự khác biệt giữa sitemap và chỉ mục sitemap là gì?
Một sitemap liệt kê các URL nội dung, trong khi một chỉ mục sitemap liệt kê các tệp chỉ mục sitemap riêng biệt chứa những URL đó.
Liệu một trình thu thập web có nên chỉ sử dụng sitemap không?
Không. Kết hợp phân tích sitemap với thu thập liên kết và phát hiện đã được hiển thị vì các sitemap có thể bị lỗi thời, không đầy đủ, hoặc không có.