Phương án giải quyết

Một phần của tài liệu XÂY DỰNG TÒA SOẠN ĐIỆN TỬ.doc (Trang 34 - 37)

3. CƠNG CỤ HỖ TRỢ VIỆC LẤY TIN TỰ ĐỘNG

3.1.3Phương án giải quyết

Heuristic nêu trên chính là mấu chốt để thực hiện việc rút trích thơng tin từ các trang web. Với quy luật này chúng ta cĩ thể chuyển đổi thơng tin được định dạng sang thơng tin được gắn ngữ nghĩa. Ngồi ra, với cấu trúc chung của trang web tin tức nêu trên, chúng ta hồn tồn cĩ thể rút trích tồn bộ thơng tin cần thiết cho việc thu thập tin tức.

Tuy nhiên để hiện thực hĩa quy luật này, chúng ta cần phải giải quyết 2 vấn đề sau: - Làm thế nào phân biệt các thơng tin được định dạng giống nhau?

- Làm thế nào chúng ta cĩ thể gán một định dạng với một ý nghĩa nào đĩ?

3.1.3.1 Làm thế nào phân biệt được các thơng tin được định dạng giống nhau ?

Đặc thù của file HTML là định dạng trang web bằng các thẻ. Mỗi thẻ sẽ cĩ các thuộc tính và giá trị, các thẻ cũng cĩ thể lồng nhau. Với một file HTML đúng chuẩn, chúng ta cĩ thể biểu diễn file này dưới dạng hình cây. Xét một ví dụ sau:

Nội dung chi tiết

Chúng ta cĩ thể ở hình trên, 2 thẻ <A> màu vàng chính là tiêu đề của trang VnExpress. Ngồi ra chúng ta cịn thể xác định chính xác thơng tin của thẻ này thơng qua XPath (nơm na như là vết dẫn tới thẻ này) và các thuộc tính của thẻ.

Như vậy để phân biệt được các thơng tin cĩ định dạng giống nhau, chúng ta cĩ thể dựa vào:

• Tên của thẻ chứa thơng tin đĩ. (VD : thẻ <a>)

• Vết của thẻ đĩ trên cây (VD : html/body/table/tr/td/table/tr/td/a) • Thuộc tính riêng của thẻ đĩ.

3.1.3.2 Làm thế nào ta cĩ thể gán một định dạng với một ý nghĩa nào đĩ ?

Với các phân tích ở phần trên, chúng ta hồn tồn cĩ thể gán một ý nghĩa cho một

Để lưu vết này, chúng tơi quyết định sử dụng XML với ngơn ngữ truy vấn rất

mạnh là XPath vì những lý do sau:

• HTML cĩ thể chuyển đổi thành XML, VS.NET cũng hỗ trợ rất tốt việc chuyển đổi này.

• Với XML, chúng ta cĩ thể dễ dàng tổ chức file HTML theo dạng cây để dễ dàng hơn cho việc phân tích.

• XML hỗ trợ XPath, một ngơn ngữ truy vấn rất mạnh trên XML. Với XPath chúng ta cĩ thể thực hiện việc truy vấn, lấy nội dung rất dễ dàng và nhanh chĩng. Chẳng hạn như muốn lấy tiêu đề của các tin, chúng ta cĩ thể thực hiện câu truy vấn:

html/body/table/tr/td/table/tr/td/a[@class="TitleFront"]

hay lấy nội dung tĩm tắt

html/body/table/tr/td/table/tr/td[@class="LeadFront"]

• XPath là một ngơn ngữ truy vấn, do đĩ với hệ thống cú pháp của XPath, chúng ta cĩ thể truy vấn hầu như tất cả những thơng tin cho dù là phức tạp nhất (kể cả việc tính tốn, gọi hàm…).

VD: Để lấy nội dung của trang VNN - Đầu tư chứng khốn - Hướng dẫn đầu tư, chúng ta cĩ thể thực hiện câu truy vấn khá phức tạp sau:

html/body/table[4]/tr/td/p/following-sibling::*

hay lấy tiêu đề của trang VCBS – Tin chứng khốn & Cổ phần hĩa

html/body/table/tr/td/table[2]/tbody/tr[position()>2 and position()<=11]//a

Một phần của tài liệu XÂY DỰNG TÒA SOẠN ĐIỆN TỬ.doc (Trang 34 - 37)