2010-01-04 49 views
9

Tôi có một trang web được tải trong trình duyệt (ví dụ: DOM và vị trí phần tử đều có thể truy cập được với tôi) và tôi muốn tìm phần tử khối (hoặc được sắp xếp danh sách các phần tử này), có khả năng chứa nhiều nội dung nhất (như trong khối văn bản liên tục). Mục đích là để loại trừ những thứ như menu, tiêu đề, chân trang và như vậy.Tôi có thể sử dụng thuật toán nào để xác định nội dung trên trang web

Trả lời

1

Trước tiên, nếu bạn cần phân tích cú pháp trang web, tôi sẽ sử dụng HTMLAgilityPack để chuyển đổi nó thành XML. Nó sẽ tăng tốc mọi thứ và sẽ cho phép bạn sử dụng XPath đơn giản để truy cập trực tiếp vào BODY.

Sau đó, bạn phải chạy trên tất cả các div (Bạn có thể nhận tất cả các phần tử DIV trong danh sách từ gói nhanh nhẹn) và nhận bất kỳ thứ gì bạn muốn.

+0

Tôi quan tâm nhiều hơn đến các loại tiêu chí mà tôi có thể sử dụng để đánh giá các nút ứng viên riêng lẻ. – VoY

1

Có một kỹ thuật đơn giản để làm được điều này, dựa trên phân tích như thế nào "ồn ào" HTML là, ví dụ, tỷ lệ đánh dấu cho văn bản hiển thị thông qua một trang html là gì. The Easy Way to Extract Useful Text from Arbitrary HTML mô tả này tex, cho một số mã python để minh họa.

Cf. cũng là mô-đun Perl HTML::ContentExtractor, thực hiện ý tưởng này. Nó sẽ có ý nghĩa để làm sạch html đầu tiên, nếu bạn muốn sử dụng này, sử dụng beautifulsoup.

1

Tôi muốn giới thiệu Luận án của Vit Baisa về Web Content Cleaning, tôi nghĩ rằng anh ấy có một số mã quá, nhưng tôi không thể tìm thấy liên kết cho nó. Ngoài ra còn có một số discussion của cùng một vấn đề về ngôn ngữ tự nhiên xử lý blog LingPipe.

Các vấn đề liên quan