Ứng dụng cung cấp thông tin về tỷ giá ngoại tệ, tỷ giá vàng, và thời tiết các vùng miền…từ một số trang web bằng cách phân tích thông tin một cách thủ công. Dựa vào đó tác giả tác giả xây dựng luật để tìm kiếm thông tin trên từ một trang web bất kỳ do người dùng nhập vào. Tuy nhiên luật này vẫn còn ở mức đơn giản, nên hiệu quả lọc thông tin chưa cao. Phần này sẽ trinh bày luật tìm kiếm thông tin được xây dựng trong KLTN.
Bước 1 : Để lấy được thông tin từ trang web bất kỳ ứng dụng tiến hành lọc thông tin trên trang HTML. Do HTML có những lỗi về cú pháp mà các trình duyệt web hiện nay vẫn chấp nhận như đã trình bày trong phần trước nên ta cần sửa lại các lỗi này bằng cách sử dụng thư viện HTML Tidy.
Bước 2 : Tiếp theo ứng dụng cố gắng lọc ra các hyperlink trên trang này bằng cách sử dụng biểu thức chính quy và kiểm tra xem URL mà hyperlink này trỏ đến có phải là file XML hay RSS chứa thông tin chúng ta cần lấy không vì hầu hết các trang web cung cấp thông tin trực tuyến đều hỗ trợ công nghệ này. Mỗi một tài liệu XML đều có một chỉ thị khai báo <?xmlversion=”1.0”?> còn RSS là <rss version=”1.0”> hoặc <rss version=”2.0”> (tùy thuộc vào công nghệ mà trang web đó sử dụng) nên việc kiểm tra có phải là file XML hay RSS là đơn giản.
Tuy nhiên vẫn còn một vấn để mà ứng dụng phải xử lí, ví dụ chúng ta muốn tìm thông tin thời tiết của thành phố A từ trang Web B nào đó. Người dùng phải nhập vào tên thành phố A vào trang Web B trên form nhập liệu và dữ liệu nhập vào được truyền lên địa chỉ URL theo phương thức GET hoặc POST. Nếu chỉ lọc dựa vào biểu thức chính quy thi sẽ không lọc được địa chỉ URL này. Vì vậy Gadget sử dụng thư viện CURL để tự động nhập vào nội dung mà người dùng tìm kiếm giả lập một cú click chuột sau đó lấy nội dung trả về từ trang Web và quay lại bước 1.
Bước 3 :Sau khi tìm được file XML hoặc RSS công việc còn lại là phân tích để lọc ra dữ liệu và kiểm tra xem có đó phải dữ liệu mà người dùng mong muốn hay không. Ta biết rằng các thành phần cấu thành nên một tài liệu XML, RSS là các phần tử, mỗi phần tử có thẻ mở và thẻ đóng được lồng nhau chính xác và nằm giữa thẻ mở và thẻ đóng này là nội dung của phần tử, các thuộc tính của phần tử hoặc một phần tử khác. Tên của thuộc tính chỉ được xuất hiện một lần trong trong một phần tử, còn tên
phần tử có thể xuất hiện nhiều lần trong tài liệu và các phần tử trùng tên này có cấu trúc bên trong là giống nhau. Đặc biệt là các file XML, RSS cung cấp cùng một loại thông tin xuất hiện sự trùng lặp về tên các phần tử, thuộc tính và cả cấu trúc trình bày. Đối với nhưng trang web tiếng việt thì file XML, RRS đa số sử đều sử dụng các từ khóa tiếng anh. Ví dụ thông tin về thời tiết thường được đặt trong các thẻ như weather, weatherdata, weathertext, weatherforecast, các thuộc tính như temperature, condition, current, skytext hoặc các từ viết tắt .Vì vậyứng dụng xây dựng tập các từ khóa lưu lại tên của phần tử và thuộc tính này để tìm kiếm đường dẫn đến nội dung của chúng. Sau đó kiểm tra xem có phải nội dung cần tìm không ví dụ như thông tin thời tiết sẽ chứa các từ liên quan đến thời tiết như Rian, Sunny, Cloudy, Snow…