Tóm tắt Luận văn Thạc sĩ Công nghệ thông tin: Các kỹ thuật phân tích và lấy tin tự động từ website

24 82 1
Tóm tắt Luận văn Thạc sĩ Công nghệ thông tin: Các kỹ thuật phân tích và lấy tin tự động từ website

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

Mục tiêu chính của luận văn là nghiên cứu tổng thể các kỹ thuật phân tích và đọc tin tự động từ website. Mục đích nhằm nắm bắt được các công nghệ và các kỹ thuật phân tích và lấy tin tự động từ file RSS của website để xây dựng ứng dụng chạy trên thiết bị di động thông báo cho người dùng biết có tin mới một cách tự động và trong thời gian nhanh nhất có thể.

1 ĐẠI HỌC QUỐC GIA HÀ NỘI TRƢỜNG ĐẠI HỌC CƠNG NGHỆ TRẦN HỮU DỰ CÁC KỸ THUẬT PHÂN TÍCH VÀ LẤY TIN TỰ ĐỘNG TỪ WEBSITE Ngành: Công nghệ Thông tin Chuyên ngành: Kỹ Thuật Phần Mềm Mã số: 60 48 0103 TĨM TẮT LUẬN VĂN THẠC SĨ CƠNG NGHỆ THÔNG TIN Hà Nội -2016 MỤC LỤC MỞ ĐẦU CHƢƠNG GIỚI THIỆU 1.1 Nhu cầu cập nhật tin tức ngƣời dùng 1.2 Ứng dụng đọc tin tự động CHƢƠNG CÁC KỸ THUẬT PHÂN TÍCH VÀ LẤY TIN TỰ ĐỘNG 2.1 Giới thiệungôn ngữ mở rộng đánh dấu XML 2.2 Giới thiệu Kỹ thuật RSS 2.3 Phƣơng pháp Interface DOM phân tích RSS 2.0 2.4 Phƣơng pháp Interface SAX phân tích RSS 2.0 2.5 Phân tích nội dung XML Android sử dụng XmlPullParser CHƢƠNG KỸ THUẬT PHÂN TÍCH WEBSITE VỚI JSOUP 3.1 Giới thiệu 3.2 Định nghĩa Jsoup 3.3 Các phƣơng thức DOM 10 3.4 Các phƣơng thức giống Css, jQuery 11 CHƢƠNG4 XÂY DỰNG VÀ PHÁT TRIỂN ỨNG DỤNG TỰ ĐỘNG CẬP NHẬT TIN TỨC 12 4.1 Một số ứng dụng hỗ trợ đọc tin tức từ file RSS có 12 4.2 Phân tích thiết kế hệ thống đọc tin tự động từ website 13 4.3 Các chức ứng dụng 18 4.4 Kết thực nghiệm nhận xét 21 TÀI LIỆU THAM KHẢO 23 MỞ ĐẦU Trong thực tế, tất ngƣời, tất ngành nghề, lĩnh vực có nhu cầu thuthập cập nhật thông tin, tin tức nhanh có thể.Nguồn cung cấp thơng tin đến từ nhiều nguồn nhau, nhiều địa điểm khác việc cập nhật tin tức từ website số nguồn cung cấp thơng tin cần thiết quan trọng Do thúc đẩy nghiên cứu kỹ thuật phân tích lấy tin tự động từ website Nghiên cứu kỹ thuật phân tích lấy tin tự động từ website tới ngƣời dùng cách kịp thời có ý nghĩa lý luận thực tiễn Mục tiêu luận văn nghiên cứu tổng thể kỹ thuật phân tích đọc tin tự động từ website Mục đích nhằm nắm bắt đƣợc cơng nghệ kỹ thuật phân tích lấy tin tự động từ file RSS website để xây dựng ứng dụng chạy thiết bị di động thông báo cho ngƣời dùng biết có tin cách tự động thời gian nhanh Bố cục luận văn tuân theomẫu trƣờng Đại Học Công Nghệ- ĐHQGHN; Luận văn gồm có chƣơng ngồi cịn có phần mở đầu, kết luận tài liệu tham khảo Trong chƣơng nêu lên nhu cầu cập nhật tin tức ngƣời dùng ứng dụng việc đọc tin tự động Chƣơng 2: giới thiệu cấu trúc kỹ thuật làm việc với XML, RSS 2.0, phƣơng pháp kỹ thuật Interface DOM, Interface SAXđể phân tích RSS 2.0 Chƣơng 3: trình bày chi tiết hàm đƣợc cung cấp dùng kỹ thuật phân tích website với Tool Jsoup Chƣơng 4: phần thực nghiệm xây dựng ứng dụng tự động cập nhật thông báo nội dung từ website Kết luận: Tóm lƣợc lại kết nghiên cứu đƣợc kỹ thuật phân tích XML đọc tin tự đơng Tài liệu tham khảo: nguồn tài liệu sử dụng thực luận văn Xin trân trọng cảm ơn Tác giả: Trần Hữu Dự CHƢƠNG GIỚI THIỆU 1.1 Nhu cầu cập nhật tin tức ngƣời dùng Hầu hết ngƣời quan tâm đến nhiều trang website có thay đổi lịch trình khơng thể đốn trƣớc nội dung ví dụ trang web nhƣ trang web tin tức, trang cộng đồng thông tin tổ chức tôn giáo, trang thông tin sản phẩm, trang web y tế, weblog Trƣớc đây, Email thông báo thay đổi giải pháp sớm để vấn đề Sau RSS đời cách tốt để cung cấp, thông báo nội dung thay đổi.Thông báo thay đổi đến từ nhiều trang web khác đƣợc xử lý cách dễ dàng, kết đƣợc trình bày cách có tổ chức, có cấu trúc tốt khác biệt từ email 1.2 Ứng dụng đọc tin tự động Ứng dụng thƣơng mại:Ứng dụng đọc tin tự động ứng dụng trực tuyến tiết kiệm thời gian tốt dễ sử dụng Với cơng nghệ đọc phân tích cú pháp RSS cách ngƣời dùng lƣớt web có đƣợc tin tức "tóm" đƣợc hợp đồng du lịch trọn gói giá rẻ nhƣng chất lƣợng, mua đƣợc vé xem hòa nhạc mong muốn mua đƣợc mặt hàng thiết yếu siêu thị lớn với chƣơng trình khuyến hấp dẫn gần nhƣ tất thứ mà ngƣời thƣờng mua thông qua mạng Internet[9] Ứng dụng y tế:Nhu cầu cập nhật thông tin y học loại bệnh mới, phƣơng pháp điều trị trở thành mối quan tâm hàng đầu nhiều bệnh nhân.xNếu nhƣ họ sử dụng ứng dụng để thƣờng xuyên cập nhật tin tức từ website biểu tiến triển bệnh, lời khuyên từ bác sĩ, thông tin loại thuốc điều trị tiểu đƣờng, hay loại thực phẩm tốt họ hữu ích Ứng dụng trƣờng học:Các trƣờng đại học, cao đẳngthƣờng trì kênh liên lạc với sinh viên giảng viên website Khi sinh viên có mối quan tâm tới thông tin hồn tồn sử dụng ứng dụng nhƣ cơng cụ theo dõi cập nhật thơng tin cho cách hiệu kịp thời Có thể thấy ý nghĩa thực tiễn RSS nói chung Ứng dụng đọc tin tự động nói riêng có ý nghĩa, quan trọng cần thiết 5 CHƢƠNG CÁC KỸ THUẬT PHÂN TÍCH VÀ LẤY TIN TỰ ĐỘNG 2.1 Giới thiệungôn ngữ mở rộng đánh dấu XML Khái niệm XML: XML (viết tắt từ tiếng Anh Extensible Markup Language, "ngôn ngữ đánh dấu mở rộng") [10]là ngơn ngữ đánh dấu với mục đích chung W3C đề nghị, để tạo ngôn ngữ đánh dấu khác Đặc điểm XML: XML cung cấp phƣơng tiện dùng văn (text) để mô tả thông tin, áp dụng cấu trúc kiểu cho thông tin Đơn vị sở XML ký tự theo định nghĩa Universal Character Set(bộký tự toàn cầu) Các ký tự đƣợc kết hợp theo tổ hợp chuỗi hợp lệ để tạo thành tài liệu XML.Tài liệu XML đƣợc soạn thảo tạo, bảo trì môt cách đơn giản, thuận tiện phổ biến phần mềm soạn thảo văn Khai báo định dạng file:Dòng file XML phải dòng khai báo XML phần tùy chọn dùng để nhận dạng file tài liệu XML Khai báo đƣợc viết nhƣ sau: - Khai báo dạng đơn giản nhƣ sau Tạo phần tử gốc tài liệu: Thẻ bắt đầu thẻ kết thúc phần tử gốc bao quanh toàn nội dung file tài liệu XML Và có phần tử gốc file liệu, thẻ "đóng" để chứa đựng tất nội dung file tài liệu XML Đặt tên phần tử tùy biến: Với ngôn ngữ XML cho phép đặt tên phần tử cách tùy biến, sau định nghĩa theo Document Type Definition theo lƣợc đồ XML tƣơng ứng với tên Lồng ghép phần tử: Lồng ghép đặt phần tử nằm bên phần tử khác Thêm thuộc tính: Các thuộc tính hồn tồn đƣợc thêm vào phần tử, bao gồm cặp tên-giá trị, với giá trị đƣợc đặt bên hai dấu ngoặc kép ("), ví dụ: type="dessert" 2.2 Giới thiệu Kỹ thuật RSS RSS (Really Simple Syndication)[6]có nghĩa "dịch vụ cung cấp thơng tin thực đơn giản", dùng việc chia sẻ tin tức Web (Web syndication) đƣợc dùng nhiều website tin tức weblog với công nghệ RSS Định nghĩa RSS: RSS viết tắt thuật ngữ sau: - Really Simple Syndication: "Dịch vụ cung cấp thông tin thực đơn giản" 6 Rich Site Summary, RDF Site Summary[13]: Tóm lƣợc thơng tin phong phú, tóm lƣợc thơng tin theo định dạng RDF - RDF - Resource Discovery Framework:(tạm dịch "cơ cấu khám phá tài nguyên"): định dạng phiên RSS 1.0 Ở số trang web biểu tƣợng RDF sử dụng thay cho RSS Lịch sử phát triển RSS: Trƣớc RSS, có nhiều định dạng khác đƣợc dùng cho vấn đề chia sẻ thông tin.Lịch sử phát triển RSS trải qua giai đoạn nhƣ sau: - RDF (Resource Description Framework) Site Summary, phiên RSS, đƣợc tạo Dan Libby củaNetscape vào tháng Ba 1999 - Nhóm RSS-DEV tiếp tục đƣa RSS 1.0vào tháng 12 năm 2000 - Vào tháng năm 2002, Winer cho cuối RSS 0.92, gọi RSS 2.0[6] - Cấu trúc định dạng tập tin RSS 2.0[6]:Một file RSS phần tử (element) phần tử tạo nên Thành phần RSS Một kênh thƣờng có ba phần tử đểbiết thơng tin kênh bao gồm: (tiêu đề): Tên kênh nguồn cấp tin (liên kết): URL trang web vùng trang web có liên kết với kênh (mơ tả): Mơ tả ngắn gọn kênh  Thành phần tin Các phần quan trọng nguồn cấp tin Mỗi có thể weblog Các có thể thƣờng xuyên thay đổi nội dung, chứa cũng đƣợc Một thƣờng chứa ba phần tử nhƣ sau: - : Phần tử tên - : Phần tử URL - : Phần tử thƣờng tóm tắt 2.3 Phƣơng pháp Interface DOM phân tích RSS 2.0 Khái niệm: Document Object Model [1] phƣơng pháp tiế p câ ̣n dƣ̃ liê ̣u tƣ̀ XML, đó tấ t cả các thành phầ n của XML nhƣ thẻ, thuô ̣c tính, text… đề u đƣơ ̣c xem nhƣ là các đố i tƣợng Các đối tƣợng DOM: Tấ t cả thành phần XML đƣơ ̣c xem nhƣ là “node” Trong đó root là documentnode, thẻ element node, thuô ̣c tin ́ h attribute node, text là text node, ghi chú là comment node… 7 Mố i quan ̣ giƣ̃a các node đƣơ ̣c mô tả bằ ng thuâ ̣t ngƣ̃ “ parent” và “child” (cha và con) Thuâ ̣t ngƣ̃ “leaf node” dùng để chỉ các node không có child node Các đặc điểm DOM: Truy cập tài liệu XML nhƣ cấu trúc cây, việc truy cập đƣợctới hầu hết nút element nút text Hoạt động DOM: Hình 2.3.1 cho thấy đầu vào tài liệu XML đƣợc phân tích mơ hình DOM đƣợc tạo nhớ mangthơng tin tài liệu Việc phân tích tài liệu XML đƣa phân tích,xử lý nút Hình 2.1 - Mơ hình hoạt động DOM[3] Cấu tạo DOM kiểu nút(Node): Tài liệu XML đƣợc hình dung nhƣ Một đƣợc làm từ nút (nodes), có 12 kiểu nút khác Mơ hình DOM đƣợc thể dƣới dạng node (xem Hình 2.2): Hình 2.2 - Mơ hình tổng thể DOM[3] 2.4 Phƣơng pháp Interface SAX phân tích RSS 2.0 Simple API for XML (SAX)[4]là phƣơng pháp phân tích liệu XML dựa vào kiện trình đọc file XML từ xuống dƣới Hình 2.3 - Mơ hình SAX xử lý parser XML[4] Mô ̣t điể m cầ n lƣu ý rằ ng SAX không ghi nhớ XML nhƣ mô ̣t cấ u trúc bô ̣ nhớ SAX chỉ xây dƣ̣ng cấ u trúc của nhiê ̣m vu ̣ thi hành bô ̣ nhớ đó SAX sẽ thƣ̣c hiê ̣n nhanh và it́ tố n tài nguyên SAX gồ m có interface chính: XMLReader interface dùng để đọc XML ContentHandler dùng để nhận dƣ̃ liê ̣u tƣ̀ XML Hai interface này giải quyế t 90% nhu cầ u ngƣời dùng với SAX Các trình khách cung cấp phân tích lớp DefaultHandler.Phân lớp đƣợc sử dụng để lấn quyền phƣơng pháp xử lý liệu.Q trình bao gồm việc lƣu trữ liệu vào sở liệu, viết chúng luồng liệu 2.5 Phân tích nội dung XML Android sử dụng XmlPullParser Sơ lƣợc XmlPullParser[12, 16]:Android không cung cấp hỗ trợ cho StAX API Java Tuy nhiên Android lại kèm với trình phân tích XmlPullParser làm việc tƣơng tự nhƣ StAX.Nó cho phép mã ứng dụng "kéo" tìm kiếm kiện từ trình phân tích, trái ngƣợc với trình phân tích SAX tự động đẩy kiện cho trình xử lý Ƣu điểm XmlPullParser: Phƣơng pháp với nhiều ƣu điểm đạt đƣợc nhƣ đơn giản xử lý mã nguồn, sử dụng tài nguyên nhớ thiết bị, tốc độ xử lý nhanh phƣơng pháp DOM SAX tập trung vào liệu hành để xử lý, tính lọc liệu tƣơng đối đơn giản dễ sử dụng Đặc điểm XmlPullParser[12, 16]:Bộ phân tích XmlPullParser xem tài liệu XMLchỉ có phần tửvà nút văn tƣơng ứng với phần tử để phân tích cú pháp Các thuộc tính khơng tạo kiệncó thể lấy thuộc tính từ phần tử 9 CHƢƠNG KỸ THUẬT PHÂN TÍCH WEBSITE VỚI JSOUP 3.1 Giới thiệu Ngày khối lƣợng thông tin lƣu trữ Internet ngày tăng chóng mặt, việc trích rút đƣợc thơng tin xác, gọn gẽ từ kho liệu vơ có ý nghĩa Đã có nhiều ứng dụng nhiều Tools đời nhƣ: Search Engine[18], RSS[15], Feedback[17], jSon[14], Jsoup[5] Trong Tool Jsoup thƣ viện mã nguồn mở Java Jsoup cơng cụ phân tích cú pháp mã HTML, cung cấp nhiều Packages nhiều API thuận tiện, an toàn để thao tác với HTML 3.2 Định nghĩa Jsoup Jsoup Java HTML Parser[5] Nói cách khác Jsoup thƣ viện đƣợc sử dụng để phân tích tài liệu HTML Jsoup cung cấp API dùng để lấy liệu thao tác liệu từ URL từ file HTML Nó sử dụng phƣơng thức giống với DOM, CSS, JQuery để lấy liệu thao tác với liệu Thành phần Jsoup API Jsoup có Packages nhiều Class khác Trong khung khổ luận văn xin phép giới thiệu lớprất quan trọng lớp:  org.jsoup.Jsoup;  org.jsoup.nodes.Document ;  org.jsoup.nodes.Element; Sau mô tả kỹ thuật phƣơng thức đƣợc cung cấp lớp: Jsoup.java Phƣơng thức Mô tả static Connection connect(String url) Tạo trả đối tƣợng Connection kết nối URL static Document parse(File in, String Phân tích file tài liệu html với định mã charsetName) hóa static Document parse(File in, String Phân tích file tài liệu html với định mã hóa, charsetName, String baseUri) baseUri static Document parse(String html) Phân tích mã html chuyển thành Document Bảng 3.1 - Các phương thức lớp Jsoup.java 10 Document.java Phƣơng thức Mô tả Element body() Charset charset() void charset(Charset charset) Element head() String location() String nodeName() Truy nhập vào phần tử body Trả charset đƣợc sử dụng tài liệu Sét charset sử dụng cho tài liệu Truy cập vào phần tử head Trả URL tài liệu Trả node name node Document normalise() String outerHtml() Normalise the document Trả outer HTML node Bảng 3.2- Các phương thức lớp Document.java 3.3 Các phƣơng thức DOM Jsoup có vài phƣơng thức gần giống với phƣơng thức mơ hình DOM (Phân tích tài liệu XML) Phƣơng thức Mơ tả Element getElementById(String id) Tìm phần tử cho ID Elements getElementsByTag(String tag) Tìm phần tử, bao gồm đệ quy Elements getElementsByClass(String className) Tìm phần tử có className Elements getElementsByAttribute(String key) Tìm kiếm phần tử Elements siblingElements() Trả phần tử anh em với phần tử Bảng 3.2- Các phương thức DOM Các phƣơng thức lấy liệu Element Phƣơng thức Mô tả String attr(String key) Trả giá trị thuộc tính cho key String id() Trả thuộc tính ID, có String className() Trả chuỗi chữ giá trị thuộc tính "class” Set classNames() Trả tất class names String text() Trả văn kết hợp text Bảng 3.3- Các phương thức lấy liệu Element 11 Các phƣơng thức vận dụng HTML Methods Description Element append(String html) Nối thêm HTML vào phần tử Element prepend(String html) Nối thêm HTML vào phần tử Element appendText(String text) Tạo nối TextNode vào phần tử Element prependText(String text) Tạo nối TextNode vào phía trƣớc Bảng 3.3 - Các phương thức vận dụng HTML 3.4 Các phƣơng thức giống Css, jQuery Các phần tử JSoup hỗ trợ cú pháp giống với CSS (hoặc JQuery) giúp tìm kiếm phần tử phù hợp, hỗ trợ nhƣ mạnh mẽ Các phƣơng thức lựa chọn có sẵn class Document, Element Elements Selector Unit (Bộ lựa chọn) Các Selector Mơ tả tagname Tìm kiếm phần tử theo tên thẻ Ví dụ: a ns|tag Tìm kiếm phần tử theo tên thẻ khơng gian tên (namespace #id Tìm kiếm phần tử theo ID, ví dụ #logo class: Tìm kiếm phần tử theo tên class, ví dụ masthead [attribute] Các phần tử với thuộc tính, ví dụ [href] [^attr] Các phần tử với thuộc tính bắt đầu bởi, [attr=value] Các phần tử với giá trị thuộc tính, ví dụ [width=500] Bảng 3.4- CácSelector Unit Selector kết hợp Selector el#id el.class el[attr] Kết hợp parent > child Mô tả Phần tử với ID, ví dụ div#logo Các phần tử với class, ví dụ div.masthead Các phần tử với thuộc tính, ví dụ a[href] ví dụ a[href].highlight Các phần tử trực tiếp phần tử cha, Bảng 3.5- CácSelector kết hợp 12 Pseudo selectors Selector Mơ tả :lt(n) Tìm kiếm phần tử có số anh em :gt(n) Tìm kiếm phần tử có số anh em lớn n :eq(n) find elements whose sibling index is equal to n :has(seletor) Tìm kiếm phần tử chứa phần tử khớp với selector :not(selector) Tìm kiếm phần tử khơng khớp với selector :contains(text) Tìm kiếm phần tử chứa đoạn text cho Bảng 3.6- CácPseudo Selector CHƢƠNG4 XÂY DỰNG VÀ PHÁT TRIỂN ỨNG DỤNG TỰ ĐỘNG CẬP NHẬT TIN TỨC 4.1 Một số ứng dụng hỗ trợ đọc tin tức từ file RSS có Báo mới[7]:Là ứng dụng đọc tin tức online offline từ trang báo điện tử http://www.baomoi.com.Với hình giao diện ứng dụng (xem Hình 4.1 từ trái qua phải) Hình 4.1 - Giao diện BaoMoi TinMoi24h[8]cũng số ứng dụng đƣợc xây dụng công phu lấy nguồn tin từ trang http://tinmoi24.com/TinMoi24 Một số giao diện ứng dụng (xem Hình 4.2 từ trái qua phải từ xuống dƣới 13 Hình 4.2- Giao diện TinMoi24h News Feed[2]là ứng dụng phổ biến thị trƣờng News Feed lấy nguồn tin từ http://www.oneindia.com.Với đơn giản gọn nhẹ tiết kiệm đƣợc dung lƣợng máy từ trái qua phải Hình 4.3 Hình 4.3- Giao diện News Feed 4.2 Phân tích thiết kế hệ thống đọc tin tự động từ website  Thiết kế tổng quan hệ thống Ở có hai giải pháp đƣợc đƣa cho thiết kế tổng quan hệ thống nhƣ sau: Giải pháp 1: Mơ hình Client - Server - Website Hình 4.4- Mơ hình Client-Server-Website Thiết kế mơ hình tổng thể nhƣ Hình 4.4 luồng liệu hoạt động nhƣ sau: : Client gọi Service yêu cầu quét thu thập liệu tới Server API, 14 : Service gửi yêu cầu quét thu thập liệu tới Server API : Server API nhận yêu cầu tiến hành phân tích RSS lƣu liệu tin tức Website : Website cung cấp file RSS cho phép Server đọc liệu từ RSS : Server API trả liệu cho Client : Client tiến hành hiển thị thông tin, đẩy thông báo tự động tới giao diện ngƣời dùng Với giải pháp thể đƣợc ƣu điểm nhƣ Client Server phân tích website hoạt động độc lập từ giảm tải cho Client Khi Client Offline Server lấy đƣợc tin lƣu server Giải pháp 2: Mơ hình Client - Website Hình 4.5-Mơ hình Client-Website Với thiết kế mơ hình tổng thể nhƣ luống liệu hoạt động nhƣ sau: : Client gọi Service yêu cầu quét thu thập liệu tới Website, tiến hành phân tích RSS, đọc liệu lƣu xuống DB Client : Website cung cấp file RSS liệu cho Client Ƣu điểm thể mạnh chỗ không tập trung xử lý nơi mà xử lý riêng lẻ Client nên tránh đƣợc tƣợng tải Tuy nhiên có nhƣợc điểm phụ thuộc vào Internet, 3G, offline không tự động lấy đƣợc tin mới, phụ thuộc vào phần cứng Client  Thiết kế giao diện 15 Hình 4.6-Thiết kế giao diện hiển thị Danh sách website - (Xem Hình 4.6) hình giao diện đƣợc thiết kế đánh số thứ tự 1, 2, 3, thứ tự giao diện nhận Notifi từ service, thứ tự tải liệu từ database hiển thị danh sách website, số lƣợng tin tức Hình 4.7- Thiết kế giao diện hiển thị nội dung tin tức Hình 4.7 thiết kế giao diện hiển thị danh sách tin tức nội dung chi tiết tin tức Hình 4.8- Thiết kế giao diện đăng ký website nhân tin Hình 4.8 hình thiết kế giao diện cho menu truy cập chức hình giao diện đăng ký website nhận tin  Phân tích chức hệ thống Biểu đồ Use Case: Biểu đồ User-Case thể tƣơng tác ngƣời dùng hệ thống Từ xác định đƣợc hệ thống cần phải làm Hình 4.9 - Biểu đồ User-Case Đặc tả Use-case: Hệ gồm Use - case quản lý tin tức cho phép ngƣời sử dụng mở ứng dụng lên quản lý tin tức bao gồm việc nhƣ: thêm mới, cập nhật trạng thái cho danh mục tin, xóa địa website khơng muốn 16 nhận tin Hiển thị danh sách website đăng, hiển thị danh sách danh mục tin, hiển thị danh sách tin tức đọc tin tức Biểu đồ (Sequence Diagram): Hoạt động hệ thốngnhìn cách tổng thể (xem Hình 4.10)gồm hành động nhƣ sau Hình 4.10 -Biểu đồ toàn hệ thống  Thiết kế sở liệu Cơ sở liệu chƣơng trình khơng q lớn, ứng dụng chạy thiết bị di động nên hệ quản trị sở liệu đƣợc cung cấp Android SqlLite Sau thiết kế cấu trúc bảng liệu mơ hình quan hệ bảng: Thiết kế cấu trúc bảng liệu Bảng website_url: Lƣu thông tin địa Website để chứa kênh tin website_url STT Tên trƣờng Kiểu liệu Ghi Diễn giải website_id INTEGER Tự tăng Mã địa website website_title TEXT Tiêu đề website website_url TEXT Khác rỗng Đƣờng dẫn web website_url_rss TEXT Đƣờng dẫn tới trang gồm RSS website_count_news INTEGER Tổng số tin web chƣa đọc Bảng 4.1: Bảng website_url (địa website) Bảng news_category: Lƣu thông tin danh mục đƣợc chọn để nhận tin news_category STT Tên trƣờng Kiểu liệu Ghi Diễn giải id INTEGER Tự tăng Mã category website_id INTEGER Khác rỗng Mã địa website website_url TEXT Khác rỗng Đƣờng dẫn web news_category_title TEXT Tiêu đề danh mục nhận tin news_category_url TEXT Khác rỗng Đƣờng dẫn danh mục nhận tin 17 news_category_rss_status INTEGER Trạng thái 0: không nhận, 1: nhận news_category_count_news INTEGER Mặc định Tổng số tin chƣa đọc Bảng 4.2 - Bảng news_category(Mục nhận tin mới) Bảng news: Lƣu thông tin tin tức danh mục news STT Tên trƣờng Kiểu liệu Ghi Diễn giải id INTEGER Tự tăng Mã địa tin tức website_id INTEGER Khác rỗng Mã địa website website_url TEXT Khác rỗng Đƣờng dẫn web news_category_id INTEGER Khác rỗng Mã danh mục news_category_url TEXT Khác rỗng Đƣờng dẫn danh mục news_title TEXT Tiêu đề ngắn gọn tin tức news_url TEXT Đƣờng dẫn danh mục news_summary TEXT Tóm tắc tin nhắn news_is_read INTEGER Mặc định 0: chƣa đọc, 1: đƣợc đọc news_pub_date TEXT Ngày tin tức Bảng 4.3 - Bảng news (Các tin tức nhận được) Mơ hình quan hệ (ER) Hình 4.11 - Mơ hình quan hệ thực thể(ER)  Một số thuật toán đƣợc cài đặt Thuật toán 1: kiểm tra xem địa website tồn sở liệu, tồn lấy danh sách danh mục tin tức có hỗ trợ RSS web lên cho ngƣời dùng cập nhật Sơ đồ khối giải thuật 18 Bắt đầu Nhập URL Website Tồn DB Sai Thêm Website Thêm category Thêm News Đọc danh sach category Gửi thông báo Đồng category DB, web Kiểm tra tin tức Gửi thơng báo Kết thúc Hình 4.12 - Sơ đồ giải thuật kiểm tra tồn website danh mục tin tức Thuật toán 2: Kiểm tra website cập nhật tin tức mới, báo có tin Sơ đồ giải thuật nhƣ sau Bắt đầu Đọc Website URL từ DB Đọc ds Category từ Web Tồn DB Sai Thêm vào DB Đọc ds Category nhận tin từ DB Kiểm tra tin Gửi thơng báo Sai Kết thúc Hình 4.13 - Sơ đồ giải thuật kiểm tra tồn tin tức 4.3 Các chức ứng dụng Chức đăng ký:Xem Hình 4.14 Chức cho phép ngƣời dùng nhập vào địa website mục muốn nhận tin 19 Hình 4.14 -Chức đăng ký website nhận tin Để tùy biến cài đặt điều kiện nhận tin danh mục tin ngƣời dùng kích vào dịng danh mục tin tức, cửa sổ Popup đƣợc hiển thị cho phép nhận điều kiện tùy biến nhận tin xem Hình 4.15 Hình 4.15 -Chức năngtùy biến cài đặt nhận tin Sau ngƣời dùng nhấn nút hoàn tất để kết thúc chức đăng ký nhận tin, lúc ứng tiến hành lƣu thông tin địa website mục đánh dấu nhận, tin tức liên quan xuống database Chức hiển thị danh sách website đăng ký: Hình 4.16 giao diện chức hiển thị danh sách website đăng ký nhận tin Hình 4.16 -Chức danh sách website nhận tin Chức hiển thị danh mục tin tức website: Tại chức (Xem Hình 4.17) hệ thống hiển thị tất danh mục tin 20 Hình 4.17 -Chức danh mục website nhận tin Chức hiển thị tóm tắt nội dung tin tức:(Xem Hình 4.18) Chức thực việc hiển thị tóm tắt tin tức bao gồm tiêu đề, tóm lƣợc Hình 4.18 -Chức danh sách tin Chức hiển thị chi tiết tin tức:(Xem Hình 4.19) Chức hiển thị chi tiết nội dung tin tức thông qua web Browers giúp ngƣời dùng đọc tồn tin tức Hình 4.19 -Chức danh nội dung tin tức Chức tự động thơng báo có tin tức mới:Hệ thống sử dụng services chạy ngầm phía dƣới tự động quét file RSS website từ lọc, phát tin tức Sự dụng công nghệ push notification Android để thực báo cho ngƣời dùng biết (Xem Hình 4.20) giao diện đẩy tin thơng báo, ngƣời dùng muốn đọc tin tức 21 Hình 4.20-Chức tự động thơng báo tin 4.4 Kết thực nghiệm nhận xét  Kết thực nghiệm:Ứng dụng phân tích lấy tin tự động từ website áp dụng thành công kỹ thuật phân tích DOM, SAX cấu trúc file XML, RSS, HTML Cụ thể nhƣ sau:  Áp dụng thành công công cụ Jsoup với kỹ thuật phân tích DOM để phân tích mã nguồn HTML website để lấy đƣợc danh mục mục tin có cung cấp file RSS  Áp dụng thành cơng kỹ thuật phân tích SAX với XMLPullParser Android để phân tích cú pháp đọc liệu RSS 2.0  Phát triển đƣợc tính tự động quét phát tin tức sau tự động gửi thơng báo cho ngƣời dùng  Ứng dụng phân tích lấy tin tốt với hầu hết website có cung cấp RSS  Nhận xét: Đối với tốn phân tích lấy tin tự động từ website cụ thể cần phải cân nhắc xem xét thực trạng toán, đánh giá đƣợc qui mô, độ phức tạp, yêu cầu chức hệ thống để đƣa lựa chọn giải pháp, lựa chọn công nghệ cho phù hợp Trong trƣờng hợp cụ thể thực nghiệm luận văn với website có file nguồn mã Html, Xml vừa nhỏ sử dụng kỹ thuật phân tích DOM tốt tồn mã nguồn đƣợc tải vào nhớ để phân tích DOM thực lần tạo lên DOM, việc truy cập ngẫu nhiên tới các phần tử DOM thuận tiện, nhanh chóng, hiệu suất xử lý liệu cao Ngƣợc lại website thƣờng có tuần suất cung cấp tin file RSS cao, số lƣợng tin nhiều nên việc áp dụng kỹ thuật phân tích SAX để xử lý nhiệm vụ hành cần thực thi thời điểm nhớ tốt cho hiệu cao, giảm việc yêu cầu tài nguyên thiết bị phần cứng Việc áp dụng công cụ Jsoup thƣ viện XmlPullParser Android với trƣờng hợp cụ thể để phù hợp thực cần thiết 22 KẾT LUẬN Luận văn tìm hiểu trình bàycác kỹ thuật phân tích lấy tin tự động từ website với kết đạt đƣợc là:  Hệ thống lại kỹ thuật phân tích cấu trúc website để lấy đƣợc tin tức cách tự động từ website  Phát triển xây dựng ứng dụng di động Android có khả tự động cập nhật thơng báo đến cho ngƣời dùng tin tức tùy theo cài đặt Các kỹ thuật trình bày luận văn gồm:  XML ngôn ngữ đánh dấu với mục đích dùng chung, có khả mơ tả nhiều loại liệu khác  RSS 2.0 dịch vụ cung cấp thông tin thực đơn giản dùng việc chia sẻ tin tức web RSS danh sách đối tƣợng mẩu tin đƣợc miêu tả gồm có: tiêu đề, nội dung tóm lƣợc, liên kết đến trang chính, ngày tháng, tác giả  DOM kỹ thuật tiếp cận liệu XML mà tất thành phần tạo nên XML đƣợc xem đối tƣợng, đƣợc xem "node" Khi parser đọc XML thành đối tƣợng DOM nhớ có cấu trúc với đối tƣợng node, node có mối quan hệ phân tầng cha-con  SAX kỹ thuật phân tích dựa vào kiện trình đọc file XML từ xuống dƣới SAX khơng ghi nhớ XML nhƣ cấu trúc nhớ mà xây dựng cấu trúc nhiệm vụ thi hành nhớ dó SAX thực nhanh tốn tài nguyên so với DOM  XmlPullParser cho phép mã ứng dụng "kéo" tìm kiếm kiện từ trình phân tích, trái ngƣợc với SAX tự động đẩy kiện cho trình xử lý XmlPullParser thể đƣợc ƣu điểm đơn giản sử dụng, tốn nhớ xử lý nhanh DOM SAX  Jsoup thƣ viện đƣợc sử dụng để phân tích tài liệu HTML, đƣợc cung cấp API dùng để lấy liệu thao tác liệu từ URL từ file HTML Sử dụng phƣơng pháp DOM, CSS, JQuery để lấy liệu thao thác với liệu Các ứng dụng di động ngày đƣợc xây dựng rộng khắp phổ biến thiết bị di động cầm tay Internet ngày Áp dụng kỹ thuật phân tích cấu trúc website để xây dựng ứng dụng cập nhật tin tức cách tùy biến theo yêu cầu ngƣời dùng đƣợc phát triển rộng thời gian tới 23 TÀI LIỆU THAM KHẢO Tiếng Việt [1] DOM SAX, http://bodua.vn/knowledge/La%CC%80m-vie%CC%A3cvo%CC%81i-XML/DOM-va%CC%80-SAX_72.html [2] NewsFeed, https://play.google.com/store/apps/details?id=com.aaravmedia.newsfeed [3] Phương pháp Interface DOM phân tích RSS 2.0,http://o7planning.org/vi/10109/phan-tich-xml-bang-cach-su-dung-mo-hinh-domtrong-java#a6435 [4] Phương pháp Interface SAX phân tích RSS2.0, http://www.bodua.vn/knowledge/Java-Server-Pages/Du%CC%80ng-SAXdo%CC%A3c-XML_54.html [5] Phương pháp phân tích HTML Jsoup, http://o7planning.org/vi/10399/huong-dan-sudung-java-jsoup-phan-tich-html [6] RSS 2.0, https://www.ibm.com/developerworks/vn/library/webservices/201301/xrss20/ [7] Ứng dụng đọc báo mới, https://play.google.com/store/apps/details?id=com.epi&hl=vi [8] Ứng dụng đọc báo Tinmoi24h, https://play.google.com/store/apps/details?id=mobi.fiveplay.tinmoi24h&hl=vi [9] Ứng dụng đọc tin tự động Việt Báo, http://vietbao.vn/Vi-tinh-Vien-thong/RSS-Ungdung-tuyet-voi-nhat/55135693/217/ [10] XML,https://www.ibm.com/developerworks/vn/edu/xmlintro/ [11] XML structure, https://www.ibm.com/developerworks/vn/library/12/xandroidxml/#listing13 Tiếng Anh [12] Development Org.XmlPull.V1.XmlPullParser NameSpace, https://developer.xamarin.com/api/type/Org.XmlPull.V1.XmlPullParser/ [13] Gabe Beged-Dov, JFinity Systems LLC RDF Site Summary (RSS 1.0), http://web.resource.org/rss/1.0/spec#s9 [14] Json, http://www.w3schools.com/js/js_json_intro.asp [15] RSS 2.0 Specification, http://cyber.law.harvard.edu/rss/rss.html#ltcategorygtSubelementOfLtitemgt 24 [16] RSS2.0 XML Pull Parsing,http://www.extreme.indiana.edu/xmlpullwebsite/index.shtml [17] Techniques for feedback, http://www2.le.ac.uk/offices/red/rd/careerdevelopment/research-staff/mentoring/feedback [18] Techniques for Search engine, http://www.htmlgoodies.com/beyond/seo/article.php/3837311/Search-EngineOptimization-SEO-Advanced-Techniques.htm ... nghiên cứu kỹ thuật phân tích lấy tin tự động từ website Nghiên cứu kỹ thuật phân tích lấy tin tự động từ website tới ngƣời dùng cách kịp thời có ý nghĩa lý luận thực tiễn Mục tiêu luận văn nghiên... tổng thể kỹ thuật phân tích đọc tin tự động từ website Mục đích nhằm nắm bắt đƣợc cơng nghệ kỹ thuật phân tích lấy tin tự động từ file RSS website để xây dựng ứng dụng chạy thiết bị di động thơng... dụng phân tích lấy tin tự động từ website áp dụng thành cơng kỹ thuật phân tích DOM, SAX cấu trúc file XML, RSS, HTML Cụ thể nhƣ sau:  Áp dụng thành công công cụ Jsoup với kỹ thuật phân tích

Ngày đăng: 16/01/2020, 12:18

Từ khóa liên quan

Tài liệu cùng người dùng

Tài liệu liên quan