Khai thác dữ liệu trên web và xây dựng ứng dụng hỗ trợ nhập liệu

58 35 0
Khai thác dữ liệu trên web và xây dựng ứng dụng hỗ trợ nhập liệu

Đ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

ĐẠI HỌC QUỐC GIA HÀ NỘI VIỆN CÔNG NGHỆ THÔNG TIN NGUYỄN BÌNH MINH KHAI THÁC DỮ LIỆU TRÊN WEB VÀ XÂY DỰNG ỨNG DỤNG HỖ TRỢ NHẬP LIỆU LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN HÀ NỘI – 2014 ĐẠI HỌC QUỐC GIA HÀ NỘI VIỆN CÔNG NGHỆ THƠNG TIN NGUYỄN BÌNH MINH KHAI THÁC DỮ LIỆU TRÊN WEB VÀ XÂY DỰNG ỨNG DỤNG HỖ TRỢ NHẬP LIỆU Ngành: Công nghệ thông tin Chuyên ngành: Quản lý hệ thống thơng tin Mã số: Chun ngành đào tạo thí điểm LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN NGƯỜI HƯỚNG DẪN KHOA HỌC: TS Nguyễn Văn Đoàn HÀ NỘI - 2014 LỜI CẢM ƠN Trước hết, xin bày tỏ lịng cảm ơn chân thành TS Nguyễn Văn Đồn, người tận tình hướng dẫn tơi thời gian làm luận văn tốt nghiệp Tôi xin cảm ơn thầy, cô giáo Viện Công nghệ thông tin - Đại học Quốc gia Hà Nội giảng dạy suốt thời gian học tập viện tạo điều kiện giúp đỡ tơi hồn thành luận văn Cảm ơn bạn bè, đồng nghiệp cổ vũ động viên tơi suốt q trình học tập viện Tuy có cố gắng định thời gian trình độ có hạn nên chắn luận văn cịn nhiều thiếu sót hạn chế định Kính mong nhận góp ý thầy cô bạn Luận văn thạc sĩ thực khuôn khổ đề tài nghiên cứu mang mã số Chuyên ngành đào tạo thí điểm, Đại học Quốc gia Hà Nội Hà Nội, ngày 10 tháng 01 năm 2014 Học viên Nguyễn Bình Minh LỜI CAM ĐOAN Tôi xin cam đoan kết đạt luận văn sản phẩm nghiên cứu, tìm hiểu riêng cá nhân tơi Trong tồn nội dung luận văn, điều trình bày cá nhân tổng hợp từ nhiều nguồn tài liệu Tất tài liệu tham khảo có xuất xứ rõ ràng trích dẫn hợp pháp Tơi xin hồn chịu trách nhiệm chịu hình thức kỷ luật theo quy định cho lời cam đoan Hà Nội, ngày 10 tháng 01 năm 2014 Học viên Nguyễn Bình Minh TÓM TẮT LUẬN VĂN Trong năm gần với phát triển nhanh chóng khoa học kỹ thuật bùng nổ tri thức Kho liệu, nguồn tri thức nhân loại trở nên đồ sộ, vô tận làm cho vấn đề khai thác nguồn tri thức ngày trở nên nóng bỏng đặt thách thức lớn cho công nghệ thông tin giới Hiện nay, lượng thông tin Internet ngày khổng lồ, điều khiến việc sử dụng Internet để khai thác thơng tin hữu ích, phục vụ cho mục đích tổ chức hay cá nhân ln có khó khăn định Nhất mục đích địi hỏi cần khai thác thông tin với khối lượng lớn Web, chẳng hạn công ty quảng cáo muốn thu thập thật nhiều thông tin liên lạc doanh nghiệp nhiều lĩnh vực để gửi thư quảng cáo Những công việc thực thủ cơng sức người nhiều thời gian, công sức, chúng tẻ nhạt tính chất phải lặp lặp vài thao tác việc thu thập liệu Do vấn đề cấp thiết đề cập nên em chọn đề tài: “Khai thác liệu Web xây dựng ứng dụng hỗ trợ nhập liệu” Mục tiêu đề tài nhằm đưa phương pháp cơng cụ có khả hỗ trợ người tốn có u cầu thu thập liệu, giúp giảm thời gian sức lực người đảm bảo tính tồn vẹn liệu MỤC LỤC MỞ ĐẦU CHƯƠNG TỔNG QUAN VỀ KHAI THÁC DỮ LIỆU TRÊN WEB 1.1 TÌM HIỂU CÁC KIẾN THỨC TỔNG QUAN 1.1.1 WORLD WIDE WEB 1.1.2 TRÌNH THU THẬP DỮ LIỆU WEB – WEB CRAWLER 1.1.3 TRÌNH BĨC TÁCH VÀ TRÍCH XUẤT THƠNG TIN – WEB SCRAPER 10 1.1.4 PHÂN LOẠI WEB 11 1.2 1.1.4.1 Phân loại dựa vào thể tính động 11 1.1.4.2 Phân loại dựa vào cách thức tạo tính động 12 1.1.4.3 Khả web crawler 12 CÁC CHIẾN LƯỢC THU THẬP DỮ LIỆU 13 1.2.1 CHIẾN LƯỢC THU THẬP DỮ LIỆU THEO CHIỀU SÂU 14 1.2.2 CHIẾN LƯỢC THU THẬP DỮ LIỆU THEO CHIỀU RỘNG 14 1.3 ĐÁNH GIÁ SƠ BỘ 15 CHƯƠNG PHÂN TÍCH VÀ THIẾT KẾ ỨNG DỤNG 17 2.1 CÁC KIẾN THỨC NỀN TẢNG VÀ CÔNG NGHỆ LIÊN QUAN 17 2.1.1 HTML 17 2.1.2 XML 18 2.1.3 XHTML 19 2.1.3.1 Tính chuẩn tài liệu XML (well-formed) 19 2.1.3.2 Tên phần tử tên thuộc tính phải dạng chữ in thường 19 2.1.3.3 Các thẻ không rỗng bắt buộc phải có thẻ đóng 19 2.1.3.4 Các thuộc tính ln phải ghi rõ giá trị 20 2.1.3.5 Các phần tử rỗng 20 2.1.4 XPATH 20 2.1.4.1 Cú pháp ngữ nghĩa 21 2.1.4.2 Axis specifier 22 2.1.4.3 Node test 23 2.1.4.4 Predicate 23 2.1.4.5 Các hàm toán tử 23 2.1.5 CÁC THƯ VIỆN HỖ TRỢ 24 2.2 2.1.5.1 HTML Tidy 24 2.1.5.2 cURL 26 PHÂN TÍCH 26 2.2.1 PHÁT BIỂU BÀI TOÁN 26 2.2.2 PHÂN LOẠI CÁC TRANG WEB DỰA TRÊN CÁCH CHUYỂN TRANG 29 2.2.3 ĐỀ XUẤT GIẢI PHÁP 30 2.3 THIẾT KẾ ỨNG DỤNG 33 2.3.1 SƠ ĐỒ USE CASE 33 2.3.2 KIẾN TRÚC ỨNG DỤNG 34 2.3.2.1 Thành phần front-end 34 2.3.2.2 Thành phần back-end 36 CHƯƠNG HIỆN THỰC ỨNG DỤNG VÀ ĐÁNH GIÁ KẾT QUẢ 39 3.1 ĐẶC TẢ DỮ LIỆU ĐẦU VÀO BẰNG XML 39 3.1.1 ĐẶC TẢ THÔNG TIN CHUNG CHO ROBOT 39 3.1.2 ĐẶC TẢ CÁC TRANG 40 3.1.3 ĐẶC TẢ BẢNG CƠ SỞ DỮ LIỆU 44 3.2 CẤU TRÚC CƠ SỞ DỮ LIỆU 45 3.3 SƠ ĐỒ TUẦN TỰ CHO CÁC CHỨC NĂNG 46 3.3.1 BOT MANAGER 46 3.3.2 ROBOT 47 3.3.2.1 Quản lý tiến trình Robot 48 3.3.2.2 Thực quy trình thu thập liệu 49 3.3.3 CRAWLER 50 3.3.3.1 Simple Crawler 51 3.3.3.2 Advanced Crawler 51 3.3.4 EXTRACTOR 54 KẾT LUẬN 55 TÀI LIỆU THAM KHẢO 56 MỤC LỤC HÌNH ẢNH Hình 1-1 World Wide Web Hình 1-2 Sơ đồ hoạt động web crawler đơn giản 10 Hình 1-3 Phân loại web khả web crawler 13 Hình 2-1 Một trang web danh bạ 27 Hình 2-2 Sơ đồ Use Case ứng dụng DESS 33 Hình 2-3 Sơ đồ trạng thái Bot 35 Hình 2-4 Quá trình hoạt động tổng quát ROBOT 37 Hình 3-1 Sơ đồ cấu trúc sở liệu chương trình 45 Hình 3-2 Sơ đồ tác vụ start Bot 46 Hình 3-3 Sơ đồ tác vụ resume Bot .46 Hình 3-4 Sơ đồ tác vụ pause Bot .47 Hình 3-5 Sơ đồ tác vụ stop Bot 47 Hình 3-6 Sơ đồ thể trình hoạt động tổng quát Robot 48 Hình 3-7 Quá trình thu thập liệu tổng quát .49 Hình 3-8 Sơ đồ class Crawler 50 Hình 3-9 Sơ đồ hoạt động Simple Crawler .51 Hình 3-10 Sơ đồ hoạt động Advanced Crawler 51 Hình 3-11 Sơ đồ class Extractor 54 MỞ ĐẦU Trong thập kỷ qua, chứng kiến phát triển đến chóng mặt Internet mà tiêu biểu trang thông tin Internet coi nguồn cung cấp tin khổng lồ với chuyên mục, vấn đề mà người sử dụng cần đến Với phát triển này, lượng thông tin từ Internet mang đến cho người sử dụng lớn dẫn tới việc cần phải có ứng dụng Internet thông minh hiệu người sử dụng Tuy nhiên lượng thông tin mà họ cần khai thác nhiều trình duyệt web, trích xuất lưu trữ theo cách thủ cơng lại trở thành cơng việc khó khăn, hao tốn nhiều sức lực, thời gian người Một số ví dụ kể như: nhu cầu trích xuất thông tin tất mặt hàng thuộc chuyên mục website bán hàng nhằm phục vụ mục đích khảo sát thị trường, nhu cầu tổng hợp tin tức từ website tin tức để xây dựng trang web thông tin tổng hợp, nhu cầu thu thập thông tin doanh nghiệp thuộc ngành website danh bạ doanh nghiệp để gửi email quảng cáo, tiếp thị, v.v… Chính ví dụ thực tế nảy sinh nhu cầu: cần phải có phương thức cơng cụ có khả tìm kiếm, trích xuất thông tin web lưu trữ lại thông tin theo ý muốn người, cách tự động hiệu quả, mục tiêu đặt cho đề tài Đó là: Tìm hiểu phương pháp khai thác lượng liệu trên, từ xây dựng ứng dụng thu thập liệu tự động từ website, phục vụ cho nhu cầu cá nhân hay tổ chức Các nhiệm vụ:  Tìm hiểu kiến thức tảng  Tìm hiểu kỹ thuật khai thác liệu tự động từ website  Tìm hiểu công nghệ liên quan xây dựng ứng dụng khai thác liệu website cụ thể Bố cục luận văn: Mở đầu: Đặt vấn đề ý nghĩa , tính cấp thiết, nhiệm vụ tính thực tiễn đề tài Chương 1: Tổng quan khai thác liệu Web Trong chương này, tìm hiểu khái niệm trình thu thập web (web crawler), chiến lược thu thập liệu, trình bóc tách trích xuất thông tin (web scraper), phân loại trang web, từ vẽ tranh chung khai thác liệu web để hiểu giá trị thực tiễn mà mang lại đời sống người Chương 2: Phân tích, thiết kế ứng dụng Phần đầu chương trình bày kiến thức tảng công nghệ liên quan, phần nêu phát biểu cho toán khai thác liệu web giải pháp thực hiện, kiến trúc thành phần ứng dụng Chương 3: Hiện thực ứng dụng đánh giá kết thu Đặc tả thông tin đầu vào cho ứng dụng, lược đồ sở liệu tương ứng chức module chương trình Phần trình bày ví dụ cụ thể kết thu thực ứng dụng Kết luận: Phần cuối luận văn nhìn lại điều làm được, nêu lên hạn chế, từ đề hướng phát triển sau o space: thay tất chuỗi nhiều khoảng trắng thành khoảng trắng o content: bỏ tag đóng tag mở, lấy nội dung bên - : dùng thẻ ta muốn action capture trả chuỗi giá trị thẻ, khơng trích xuất liệu từ trang web Thẻ dùng trường hợp dùng capture action làm parameter giá trị cố định cho GET, POST (xem ví dụ Link Action bên dưới) Khi dùng thẻ khơng phép có thẻ xpath, expression, selector list phải N  Block Action: block Khi trang web xét có nhiều phân vùng liệu khác ta muốn data record phân vùng gom nhóm lại với vào chung data record lớn có nhiều field, ta cần dùng block action Block action bao bọc nhiều capture action con, thân block action trả nhiều phân vùng liệu “cha chung” phân vùng liệu (gọi block data) Block action có thẻ sau: - : giá trị Y N, xác định block action trả hay nhiều block data (mỗi block data chứa phân vùng liệu con) - : tương tự Capture Action Các biểu thức XPath Capture Action phải tương nội dung block data  Link Action: link Các Link Action trả danh sách URL có nhờ biểu thức tìm kiếm XPath, Expression, Selector tương tự action Tuy nhiên Link Action cho phép gửi kèm theo tham số vào URL, theo phương thức HTTP GET HTTP POST, thơng qua thành phần options, ví dụ: link http://www.example.com/index.aspx capture id SW063 42 Trong ví dụ trên, thẻ static dùng cho Link Action có tác dụng tương tự thẻ static Capture Action Ví dụ thể cho thao tác gửi yêu cầu HTTP POST đến http://www.example.com/index.aspx kèm theo tham số id có giá trị “SW063” Một ví dụ khác mà tham số truyền có giá trị trích xuất từ nội dung trang web: link http://www.example.com/index.aspx capture EVENTTARGET /WebForm_PostBackOptions\("([az0-9\$_]*next)"/s  Type Action: type Type Action thể thao tác nhập chuỗi ký tự vào điều khiển (một textfield, textarea, v.v ) cho phép nhập liệu (target) Giá trị nhập vào thể thẻ value, target thể thẻ static xpath Nếu dùng thẻ static giá trị phải dạng [name]name_to_search [id]id_to_search Ví dụ sau thể thao tác nhập giá trị “minh” vào điều khiển có name q Nếu dùng thẻ xpath action nhập giá trị vào điều khiển tìm biểu thức XPath type [name]q minh  Click Action: click 43 Click Action thể thao tác click chuột vào điều khiển chẳng hạn nút bấm button Action hỗ trợ tìm kiếm target name, id XPath Ví dụ sau thể thao tác click chuột vào điều khiển có name btnG click [name]btnG 1 Năm loại Action kết hợp với nhau, lồng để giải trường hợp từ đơn giản phức tạp Tuy nhiên, Simple crawler engine sử dụng Link Action, Capture Action Block Action, Simple crawler sử dụng Link Action để chuyển trang, Extractor sử dụng Capture Action Block Action để trích xuất liệu Đối với Advanced crawler engine, có Click Action, Type Action, Capture Action Block Action sử dụng, Advanced crawler sử dụng Click Action Type Action (thông qua HtmlInput) để giả lập browser, thực thi JavaScript, Extractor sử dụng Capture Action Block Action giống Simple crawler engine 3.1.3 ĐẶC TẢ BẢNG CƠ SỞ DỮ LIỆU Phần gồm element nhất, thẻ Thẻ đặc tả metadata bảng sở liệu dùng để chứa liệu trích xuất Bot Cụ thể đặc tả field bảng thông qua nhiều cặp thẻ Mỗi thẻ column đại diện cho field bảng sở liệu, column có thẻ thể tên column, thẻ xác định kiểu liệu column thẻ thể ràng buộc liệu field Tất liệu trích xuất DESS lưu vào bảng Tên bảng sinh tự động Bot Mỗi liệu cần trích xuất đặc tả thẻ data định danh thẻ name capture action tương ứng, chúng lưu vào field tương ứng bảng Người sử dụng phải dùng tên định danh data làm tên column để DESS biết liệu trích xuất cần lưu vào field bảng Ví dụ sau đặc tả bảng sở liệu Bot gồm field, tương ứng với phần liệu cần trích xuất có tên định danh title description title varchar 100 44 description varchar> 500 3.2 CẤU TRÚC CƠ SỞ DỮ LIỆU Hình 3-1 Sơ đồ cấu trúc sở liệu chương trình Mơ tả bảng STT Mơ tả Tên wde_crawl Dữ liệu Robot (Tên, Cấu hình, Trạng thái…) wde_url Các link trang web mà Robot trích xuất liệu wde_log Q trình hoạt động Robot wde_setting Cac cấu hình chương trình wde_data_[num] Dữ liệu mà Robot thu thập với [num] tương ứng với ID Robot, Cấu trúc bảng phụ thuộc vào khai báo người sử dụng 45 3.3 SƠ ĐỒ TUẦN TỰ CHO CÁC CHỨC NĂNG 3.3.1 BOT MANAGER Bot Controller Robot Bot Model Actor start start update_status proc_open Robot show_response Hình 3-2 Sơ đồ tác vụ start Bot Bot Controller Robot Bot Model Actor resume resume update_status proc_open Robot show_response Hình 3-3 Sơ đồ tác vụ resume Bot 46 Bot Controller Robot Bot Model Actor pause pause update_status show_response Hình 3-4 Sơ đồ tác vụ pause Bot Bot Controller Robot Bot Model Actor stop stop update_status show_response Hình 3-5 Sơ đồ tác vụ stop Bot 3.3.2 ROBOT Class Robot đóng vai trị trung tâm điều khiển Crawler Extractor Mọi hoạt động hai đối tượng điều khiển, phối hợp với Robot 47 Robot Crawler Extractor load(bot_id) load(content) Loop do_action(action) save_data() Hình 3-6 Sơ đồ thể trình hoạt động tổng quát Robot 3.3.2.1 Quản lý tiến trình Robot  Chạy Bot: Khi nhận lênh kích hoạt từ người dùng thơng qua Bot Controller, Robot tiến hành thực công việc sau: - Cập nhật trạng thái Robot thành hoạt động (Started) - Kiểm tra xem Robot có chạy hay khơng: Mỗi Robot chạy process riêng biệt Robot kiểm tra Process ID Robot muốn có tồn danh sách Process Hệ điều hành hay không o Nếu không, Robot thực lênh khởi tạo process để chạy Bot yêu cầu o Nếu có, Robot dừng lại 48  Dừng Bot: - Trong vịng lặp q trình hoạt động, Bot kiểm tra trạng thái - Nếu trạng thái “Started”, Bot tiếp tục chạy - Nếu trạng thái không “Started”, Bot dừng lại Việc tạo process để chạy quản lý Robot Process ID giúp khắc phục nhược điểm khách quan PHP time limit 3.3.2.2 Thực quy trình thu thập liệu Class Robot điều khiển hai thành phần Crawler Extractor để tiến hành thu thập liệu, trình tổng quát nhìn từ mức cao có dạng sau: Hình 3-7 Quá trình thu thập liệu tổng quát Trong vịng lặp quy trình hoạt động, Bot sử dụng Crawler Extractor để tiến hành thu thập liệu Ban đầu, Bot lấy url từ sở liệu, dùng Crawler để lấy nội dung trang Web, trả nội dung lấy cho Extractor Sau bot tiến hành duyệt qua Action dùng Extractor để thực hiên chúng, Kết extractor trả Bot lưu giữ sở liệu 49 Như nói class Robot trung tâm điểu khiển back-end, điều khiển hoạt động Crawler Extractor, giúp Crawler Extractor phối hợp, đan xen với để trình thu thập liệu tự động hoàn thành 3.3.3 CRAWLER Class Crawler có nhiệm vụ lấy nội dung trang web từ url options trả định nghĩa HTML Crawler bao gồm hai crawler engine Simple Crawler Engine Advanced Crawler Engine Abstract Crawler # page_content: string + load(url: string): string + get_status(): string Advance_Crawler Simple_Crawler + load(url: string): string + get_status(): string - generate_input() - run_browser() + load(url: string): string + get_status(url: string): string Hình 3-8 Sơ đồ class Crawler Hiện chương trình hỗ trợ sử dụng hai crawler engine, người sử dụng định chọn lựa engine dùng thông qua thẻ engine đặc tả cấu hình XML 50 3.3.3.1 Simple Crawler Robot Crawler Bot Model Simple_Crawler pHTML load(bot_id) get_url(bot_id) load_url(url, options) get(url, options) http() Hình 3-9 Sơ đồ hoạt động Simple Crawler Sử dụng pHTML Helper, wrapper thư viện cURL PHP, có khả thực chức HTTP như: GET, POST, HTTP Auth … 3.3.3.2 Advanced Crawler Robot Crawler Bot Model Advance_Crawler load(bot_id) get_url(bot_id) load_url(url, options) wdeBrowser generate_input() run_brows er() start() get_output() Hình 3-10 Sơ đồ hoạt động Advanced Crawler 51 DESSBrowser Advanced Crawler sử dung DESSBrowser - browser giả lập viết java sử dụng thư viện HTMLUnit, có khả thực đoạn mã javascript, activeX, java applet… Khi cung cấp url kèm theo options mô tả hoạt đông, Advanced Crawler tạo fileInput chứa hoạt động đó, sau gọi DESSBrowser với thơng số input output, DESSBrowser thực action truyền qua lấy nội dung cuối ghi vào file output, file chứa nội dung trang Web cần lấy DESSBrowser nhận thông số tập tin đầu vào tập tin đầu java –jar DESSBrowser input.txt output.html Khi thực thi, DESSBrowser tiến hành đọc nội dung file input, thực action miêu tả Sau ghi kết cuối file output Cấu trúc file input url trang web action block action block … Mỗi action block miêu tả thành phần nằm dòng riêng biệt:  Action Type: loại action Hiện chương trình hỗ trợ hai loại action bản, tương tự cấu hình XML: - Type: thực thao tác nhập giá trị value vào target - Click: thực thao tác click chuột vào target Value Action lúc option thao tác: o Nếu Value: “auto”: chương trình thực tự động đồng trang web sau click vào đối tượng xảy ajax (hiện hoạt động chưa xác) o Nếu Value số, chương trình đợi khoảng thời gian Value trước thực bước trả kết sau o Nếu Value có dạng “[event]xpath”:  Nếu event “change”: chương trình đợi phần tử element lấy xpath thay đổi event timeout (5s) 52  Target: đối tượng tác động action Target có dạng: [type] search Hiện chương trình hỗ trợ kiểu tìm kiếm là: - Nếu type “name” chương trình tìm kiếm phần tử có thuộc tính name search - Nếu type “id” chương trình tìm kiếm phần tử có thuộc tính id search - Nếu type “xpath” lúc giá trị search phải có dạng [number]xpath, chương trình thực tìm kiếm phần tử thỏa biểu thức xpath lấy phần tử thứ number phần tử tìm kiếm  Value: giá trị option action Ví dụ 1: Tập tin input DESSBrowser: http://google.com type [name]q project click [name]btnG Chương trình load trang http://google.com, sau thực nhập chuỗi “project” vào khung search google, click chuột vào nút search để lấy nội dung trang kết trả Ví dụ 2: Tập tin input DESSBrowser http://comic.vuilen.com/ click [xpath][0]//img[@src="images/next_rounded_sidebar2.gif"] [change]//body Chương trình thực load trang web, sau click vào nút phân trang ajax đợi body thay đổi (nghĩa trang web load xong ajax) 53 3.3.4 EXTRACTOR Class Extractor có nhiệm vụ bóc tách liệu từ nội dung trang web mà crawler trả Abstract_Extractor - + load(page_content: string) + capture(template: string) Expression_Extractor Xpath_Extractor Selector_Extractor - page_content: string - page_dom: DOMDocument() - page_doc: phpQueryObject() + load(page_content: string) + capture(template: string) + load(page_content: string) + capture(template: string) - query(template) Name + load(page_content: string) + capture(template: string) Extractor + expression: Expression_Extractor(); + xpath: Xpath_Extractor() + selector: Selector_Extractor(); + load(content: string) + do_action(action: array) - capture(template): string - block(template): string Hình 3-11 Sơ đồ class Extractor Hiện chương trình hỗ trợ xử lý input Xpath, nhiên thiết kế cho phép dễ dàng mở rộng thêm phương pháp lấy liệu như: Perl Expression, jQuery Selector Sử dụng XPATH để lấy liệu thông qua hai helper pDOM pXPATH Khác với Expression Extractor, XPATH cần phải thực bước chuyển đổi từ input crawler tạo trước query lấy liệu Khi thực lệnh load, Extractor tạo DOMDocument pDOM, từ DOMDocument tạo DOMXPath để query liệu Ví dụ: //div[@class=”title”]| Extractor thực lệnh query DOMDocument tại, tìm kiếm div có thuộc tính class title 54 KẾT LUẬN Các kết đạt Luận văn nêu lên nét toán khai thác liệu web, kỹ thuật phân tích, bóc tách trích xuất liệu nội dung HTML Từ đưa giải pháp thực ứng dụng hỗ trợ người dùng nhập liệu nhằm giải thiểu tiền bạc, thời gian công sức mà đảm bảo lượng thông tin mong muốn Các hạn chế ứng dụng Mặc dù DESS đạt số kết định khả điều kiện thời gian không cho phép nên tồn vài hạn chế chưa thể khắc phục: Khó sử dụng: Để giải tốn trích xuất liệu website cụ thể, người sử dụng DESS cần phải có kiến thức Web, HTML, Xpath… Thư viện HtmlInput chưa thật hoạt động tốt trang web phức tạp, dẫn tới kết bị sai lệch Hướng phát triển Các hướng phát triển đề tài mà ta nghĩ đến: Tích hợp web browser lên ứng dụng cho phép người dùng lựa chọn thơng tin cần trích xuất mà không cần đặc tả XPath Áp dụng kỹ thuật tìm kiếm thơng minh giúp ứng dụng thu thập chắt lọc thơng tin có chất lượng tốt 55 TÀI LIỆU THAM KHẢO Tiếng Việt [1] Đinh Mạnh Tường (2000) Cấu trúc liệu thuật toán Nhà xuất khoa học kỹ thuật Tiếng Anh [2] Michael Schrenk (2007) Webbots, Spiders, and Screen Scrapers No Starch, San Francisco, USA [3] Sriram Raghavan, Hector Garcia-Molina (2001) Crawling the Hidden Web Computer Science Department, Stanford University, USA [4] Steve Lawrence, C Lee Giles (1998) Searching the World Wide Web Science, 280(5360):98 [5] Michael K Bergman (2001) White Paper: The Deep Web: Surfacing Hidden Value University of Michigan, USA [6] Stephen Soderland Learning to Extract Text-based Information from the World Wide Web Department of Computer Science & Engineering, University of Washington 56 ... vài thao tác việc thu thập liệu Do vấn đề cấp thiết đề cập nên em chọn đề tài: ? ?Khai thác liệu Web xây dựng ứng dụng hỗ trợ nhập liệu? ?? Mục tiêu đề tài nhằm đưa phương pháp công cụ có khả hỗ trợ. ..ĐẠI HỌC QUỐC GIA HÀ NỘI VIỆN CÔNG NGHỆ THÔNG TIN NGUYỄN BÌNH MINH KHAI THÁC DỮ LIỆU TRÊN WEB VÀ XÂY DỰNG ỨNG DỤNG HỖ TRỢ NHẬP LIỆU Ngành: Công nghệ thông tin Chuyên ngành: Quản lý hệ thống thơng... cho toán khai thác liệu web giải pháp thực hiện, kiến trúc thành phần ứng dụng Chương 3: Hiện thực ứng dụng đánh giá kết thu Đặc tả thông tin đầu vào cho ứng dụng, lược đồ sở liệu tương ứng chức

Ngày đăng: 07/09/2020, 10:47

Từ khóa liên quan

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

  • Đang cập nhật ...

Tài liệu liên quan