Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 102 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
102
Dung lượng
21,62 MB
Nội dung
ĐẠI HỌC QUỐC GIA TP.HCM TRƯỜNG ĐẠI HỌC BÁCH KHOA KHOA KHOA HỌC & KỸ THUẬT MÁY TÍNH LUẬN VĂN TỐT NGHIỆP ĐẠI HỌC Xây dựng ứng dụng thu thập liệu tự động từ Website HỘI ĐỒNG: TS Võ Thị Ngọc Châu GVHD: ThS Đặng Trần Trí GVPB: ThS Nguyễn Văn Đoàn -o0o SVTH 1: Nguyễn Trung Kiên 50501352 SVTH 2: Lê Quang Minh 50501668 TP HỒ CHÍ MINH, 1/2009 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Luận văn tốt nghiệp Xây dựng ứng dụng thu thập liệu web tự động LỜI CAM ĐOAN “Chúng cam đoan rằng, ngoại trừ kết tham khảo từ cơng trình khác ghi rõ luận văn, cơng việc trình bày luận văn chúng tơi thực chưa có phần nội dung luận văn nộp để lấy cấp trường trường khác” Nguyễn Trung Kiên Nguyen Trung Kien Lê Quang Minh Trang LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Luận văn tốt nghiệp Xây dựng ứng dụng thu thập liệu web tự động LỜI CẢM ƠN Sau khoảng thời gian học tập rèn luyện trường Đại Học Bách Khoa TP.HCM, bảo tận tình thầy phịng khoa, chúng em gần mãn khoá học, giai đoạn hoàn thành luận văn tốt nghiệp sửa trở thành người kỹ sư công nghệ thơng tin góp sức xây dựng cho phát triển xã hội, đất nước Để ngày hôm chúng em vô biết ơn tất thầy cô Khoa Khoa Học Kỹ Thuật Máy Tính tận tình giảng dạy, hướng dẫn, truyền đạt kiến thức, kinh nghiệm quý báu cho chúng em khoảng thời gian học tập, rèn luyện trường Thầy ThS Đặng Trần Trí, người tận tình hướng dẫn, định hướng, giúp đỡ dạy chúng em nhiều suốt trình thực luận văn tốt nghiệp Các anh chị em sinh viên khoá chúng em học tập chia sẻ kiến thức tiếp thu trình theo học trường Đồng thời chúng em xin gửi lời cảm ơn đến cha mẹ, anh chị, bạn bè người đứng bên cạnh chúng em để động viên, an ủi, ủng hộ vật chất lẫn tinh thần suốt khoảng thời gian qua Với lòng biết ơn chân thành, chúng em xin gởi lời chúc sức khoẻ tốt đẹp đến thầy khoa, nhà trường, bậc cha mẹ, anh chị đáng kính tồn thể bạn bè cịn học khơng cịn học trường Đại Học Bách Khoa TP.HCM Nguyễn Trung Kiên Lê Quang Minh Nguyen Trung Kien Trang LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Luận văn tốt nghiệp Xây dựng ứng dụng thu thập liệu web tự động TÓM TẮT LUẬN VĂN Với bùng nổ công nghệ thông tin năm gần đây, đặc biệt phát triển mạnh mẽ vũ bão Internet, sống người ngày trở nên phong phú đa dạng Kho tàng tri thức Internet làm thay đổi đáng kể nhiều lĩnh vực, từ học tập, nghiên cứu kinh doanh thương mại Tuy nhiên người không dừng lại, họ ln có khát khao tìm tịi phát triển, đặc biệt máy tính Chiếc máy tính cá nhân đời để trợ giúp cho người, họ ln tìm cách làm cho hỗ trợ cho người nhiều nữa, chí làm thay cho người Trong thực tế nay, lượng thông tin Internet ngày khổng lồ, điều khiến việc sử dụng World Wide Web để khai thác thơng tin hữu ích, phục vụ cho mục đích cá nhân ln có khó khăn định Nhất mục đích địi hỏi phải có thu thập 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 Đề tài Luận Văn Tốt Nghiệp cố gắng giải vấn đề nêu trên, cách xây dựng cơng cụ hỗ trợ có khả giúp người toán thu thập liệu, cách tự động Công cụ cố gắng làm thay cho người số công đoạn, giúp giảm thời gian sức lực người việc thu thập liệu từ website Ý tưởng thành cơng đem lại nhiều lợi ích nhu cầu thu thập liệu web trở thành nhu cầu phổ biến thiết thực Nguyen Trung Kien Trang LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Luận văn tốt nghiệp Xây dựng ứng dụng thu thập liệu web tự động MỤC LỤC Giới thiệu 11 1.1 Mở đầu 11 1.2 Yêu cầu mục tiêu đề tài 11 1.2.1 Yêu cầu 11 1.2.2 Mục tiêu 12 Bố cục báo cáo 12 1.3 Tìm hiểu phân tích sơ 13 Tìm hiểu kiến thức tổng quan 13 2.1 2.1.1 World Wide Web 13 2.1.2 Web Crawler 14 2.1.3 Web Scraper 15 2.1.4 Phân loại Web 16 2.1.4.1 Phân loại dựa vào thể tính động 16 2.1.4.2 Phân loại dựa vào cách thức tạo tính động 17 2.1.4.3 Khả web crawler 18 2.2 Phân tích sơ 18 Các kiến thức tảng công nghệ liên quan 22 3.1 HTML 22 3.2 XML 23 3.3 XHTML 24 3.3.1 Tính chuẩn tài liệu XML (well-formed) 24 3.3.2 Tên phần tử tên thuộc tính phần tử phải dạng chữ in thường 24 3.3.3 Các thẻ khơng rỗng bắt buộc phải có thẻ đóng 24 3.3.4 Các thuộc tính ln phải ghi rõ giá trị 25 Nguyen Trung Kien Trang LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Luận văn tốt nghiệp Các phần tử rỗng 25 3.3.5 3.4 XPath 26 Cú pháp ngữ nghĩa 26 3.4.1 3.4.1.1 Cú pháp rút gọn 26 3.4.1.2 Cú pháp đầy đủ 27 3.4.2 Axis specifier 27 3.4.3 Node test 28 3.4.4 Predicate 28 3.4.5 Các hàm toán tử 29 Các công nghệ thư viện hỗ trợ khác 29 3.5 Xây dựng ứng dụng thu thập liệu web tự động 3.5.1 HTML Tidy 29 3.5.2 cURL 31 Phân tích 33 4.1 Một ví dụ tổng qt tốn thu thập liệu 33 4.2 Phân loại trang Web dựa vào cách thức chuyển trang 36 4.3 Phân tích giải pháp 37 Thiết kế 41 5.1 Sơ đồ Use Case 41 5.2 Kiến trúc tổng quan 42 5.3 Thành phần FRONT 44 5.3.1 Mơ hình MVC 44 5.3.2 Bot Manager 46 5.3.2.1 Các trạng thái Bot 46 5.3.2.2 Các lệnh tạo mới, xóa, sửa thơng tin Robot 48 5.4 5.4.1 Thành phần CORE 50 Crawler 51 Nguyen Trung Kien Trang LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Luận văn tốt nghiệp Xây dựng ứng dụng thu thập liệu web tự động 5.4.2 Extractor 53 5.4.3 Các Helper 54 Hiện thực 56 6.1 Môi trường phát triển ứng dụng 56 6.2 Giao diện sử dụng WDE 57 6.3 Đặc tả liệu đầu vào XML 60 6.3.1 Đặc tả thông tin chung cho Bot 60 6.3.2 Đặc tả trang 61 6.3.3 Đặc tả bảng sở liệu 66 Cấu trúc sở liệu 67 6.4 6.4.1 Danh sách bảng 67 6.4.2 Chi tiết bảng 67 6.5 Front 70 6.5.1 6.6 Bot Manager 70 Core 72 6.6.1 Robot 73 6.6.1.1 Quản lý tiến trình Robot 73 6.6.1.2 Thực quy trình thu thập liệu 75 6.6.2 Crawler 77 6.6.2.1 Simple Crawler: 78 6.6.2.2 Advanced Crawler: 79 6.6.2.2.1 wdeBrowser 79 6.6.2.2.2 Ví dụ 81 6.6.3 Extractor 82 6.6.3.1 Expression Extractor 82 6.6.3.2 XPath Extractor 83 Nguyen Trung Kien Trang LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Luận văn tốt nghiệp 6.6.3.3 Các bước để sử dụng ứng dụng 85 7.1.1 Xác định trang web cần thu thập liệu 87 7.1.2 Xác định kiểu lấy liệu (crawler engine) cho Robot 87 7.1.3 Xác định tùy chọn cho Robot 87 7.1.4 Xây dựng cấu hình cụ thể cho trang 88 7.1.5 Xác định cấu trúc sở liệu lưu trữ: 89 Các ví dụ cụ thể từ đơn giản đến phức tạp 90 7.2 10 Selector Extractor 83 Sử dụng đánh giá 85 7.1 Xây dựng ứng dụng thu thập liệu web tự động 7.2.1 Ví dụ 90 7.2.2 Ví dụ 2: 92 7.2.3 Ví dụ 95 Đánh giá chung 98 8.1 Các kết đạt 98 8.2 Các hạn chế ứng dụng 99 8.3 Hướng phát triển 100 Tổng kết 101 Tài liệu tham khảo 102 Nguyen Trung Kien Trang LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Luận văn tốt nghiệp Xây dựng ứng dụng thu thập liệu web tự động MỤC LỤC HÌNH ẢNH Hình 2-1 World Wide Web 13 Hình 2-2 Sơ đồ hoạt động web crawler đơn giản 14 Hình 2-3 Phân loại web khả web crawler 18 Hình 2-4 Phạm vi thành phần crawler ứng dụng đề tài 20 Hình 4-1 Một trang web danh bạ 34 Hình 5-1 Sơ đồ Use Case ứng dụng WDE 41 Hình 5-2 Kiến trúc tổng quan WDE 43 Hình 5-3 Kiến trúc thành phần FRONT 44 Hình 5-4 Mơ hình MVC 45 Hình 5-5 Sơ đồ trạng thái Bot 46 Hình 5-6 Quá trình tạo Bot 48 Hình 5-7 Quá trình chỉnh sửa Bot 49 Hình 5-8 Q trình xóa Bot 49 Hình 5-9 Quá trình nhận liệu đặc tả đầu vào XML 50 Hình 5-10 Kiến trúc thành phần CORE 51 Hình 5-11 Quá trình hoạt động tổng quát ROBOT 52 Hình 5-12 Crawler gồm có crawler engine Simple Advanced 53 Hình 5-13 Extractor gồm có Extractor 54 Hình 6-1 Giao diện WDE 57 Hình 6-2 Giao diện nhập / chỉnh sửa liệu đặc tả đầu vào XML 58 Hình 6-3 Giao diện quản lý hoạt động Bot xem liệu trích xuất 59 Hình 6-4 Sơ đồ tác vụ start Bot 70 Hình 6-5 Sơ đồ tác vụ resume Bot 70 Hình 6-6 Sơ đồ tác vụ pause Bot 71 Nguyen Trung Kien Trang LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Luận văn tốt nghiệp Xây dựng ứng dụng thu thập liệu web tự động Hình 6-7 Sơ đồ tác vụ stop Bot 71 Hình 6-8 Sơ đồ class Robot - Crawler - Extractor 72 Hình 6-9 Sơ đồ thể trình hoạt động tổng quát Robot 73 Hình 6-10 Quá trình thu thập liệu tổng quát 76 Hình 6-11 Sơ đồ class Crawler 77 Hình 6-12 Sơ đồ hoạt động Simple Crawler 78 Hình 6-13 Sơ đồ hoạt động Advanced Crawler 79 Hình 6-14 Sơ đồ class Extractor 82 Nguyen Trung Kien Trang 10 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Luận văn tốt nghiệp Xây dựng ứng dụng thu thập liệu web tự động 7.1.4 Xây dựng cấu hình cụ thể cho trang Có vấn đề cần quan tâm: Độ sâu trang: độ sâu trang tính từ trang bắt đầu Ở trang ta khai báo: 1 Xác định liệu cần lấy: liệu cần lấy khai báo action (xem phần 6.3.2 để biết công dụng action) Ở trang đầu tiên, ta khơng cần lấy liệu khơng phải khai báo phần Xác định link phân trang: tương tự data, trang chưa cần khai báo phần Xác định link trang con: mục tiêu ví dụ vào đề mục ngành nghề để lấy liệu Do ta xác định trang trang này, ta dùng action link để lấy danh sách link: link //td[@valign="middle"]/a[@class='lMenu']/@href Sau giai đoạn ta có nội dung XML sau: http://yellowpages.vn/indexvn.php simple 1 link //td[@valign="middle"]/a[@class='lMenu']/@href Nguyen Trung Kien Trang 88 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Luận văn tốt nghiệp Xây dựng ứng dụng thu thập liệu web tự động Sau vào trang con, ta bắt đầu đầu lấy liệu theo mục tiệu ví dụ: Để lấy tiêu đề nội dung: capture title //a[@class='colCom']/b/node() 7.1.5 Xác định cấu trúc sở liệu lưu trữ: Sau xác định nội dung cần lấy, ta xác định cấu trúc sở liệu lưu trữ liệu thu thập Các cột sở liệu phải có tên trùng với tên khai báo phần định nghĩa liệu title varchar 100 Đây giai đoạn cuối cùng, ta có kết XML cấu hình cho Robot: http://yellowpages.vn/indexvn.php simple 1 link //a[@class='lMenu']/@href 2 capture Nguyen Trung Kien Trang 89 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Luận văn tốt nghiệp Xây dựng ứng dụng thu thập liệu web tự động title //a[@class='colCom']/b/node() title varchar 100 7.2 Các ví dụ cụ thể từ đơn giản đến phức tạp 7.2.1 Ví dụ Lấy tiêu đề tin tức thuộc mục “Viễn thơng, bưu chính” trang web www.raovat.vn Phân tích - Đường dẫn đến mục “Viễn thơng, bưu chính” trang web http://raovat.vn/chuyenmuc_38.html http://www.raovat.vn/chuyenmuc_34.html - Trang web sử dụng link trực tiếp, không xử lý javascript hay dùng COOKIE SESSION để điều khiển Do ta sử dụng engine “simple” simple - Dữ liệu mà ta muốn lấy nằm trang đề mục “Viễn thơng, bưu chính” ta tạo page có level có template liệu //*[@class='pointer']/a/node() - Trang có phân trang, cần phải xác định đường dẫn phân trang //*[@class='button']/@href Nguyen Trung Kien Trang 90 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Luận văn tốt nghiệp Xây dựng ứng dụng thu thập liệu web tự động Nội dung liệu XML: http://www.raovat.vn/chuyenmuc_38.html simple 1 capture title Y //*[@class='pointer']/a/node() 1 link Y //*[@class='button']/@href title varchar 100 Nguyen Trung Kien Trang 91 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Luận văn tốt nghiệp Xây dựng ứng dụng thu thập liệu web tự động Kết 7.2.2 Ví dụ 2: Lấy tiêu đề tin tức mục “Chính trị xã hội” báo điện tử Thanh Niên www.thanhnien.com.vn Phân tích - Đường dẫn đến mục “Chính trị xã hội” trang web là: http://www.thanhnien.com.vn/pages/Chinh-tri-Xa-hoi.aspx http://www.thanhnien.com.vn/pages/Chinh-tri-Xa-hoi.aspx - Trang web sử dụng link trang link trực tiếp, phân trang lại dùng javascript Tuy nhiên thực chất phân trang dùng POST để phân trang Sau nghiên cứu nhóm thấy giả lập POST để thực việc này, nên chọn engine “simple” để tối ưu tốc độ lấy liệu simple - Dữ liệu mà ta muốn lấy nằm trang đề mục “Viễn thông, bưu chính” ta tạo page có level có template liệu //div[@class='cm-title']/a Nguyen Trung Kien Trang 92 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Luận văn tốt nghiệp - Xây dựng ứng dụng thu thập liệu web tự động Trang có phân trang javascript, sau nghiên cứu cách thức thực đoạn code javascript liệu POST truyền đi, nhóm nhận thấy cần liệu sau cần thiết để phân trang: o EVENTTARGET: thông số thứ phần javascript đường dẫn phân trang o EVENTARGUMENT: thông số thứ hai phần javascript đường dẫn phân trang o VIEWSTATE: giá trị input dạng hidden o EVENTVALIDATION: giá trị input dạng hidden Do đó, giả lập cách tìm kiếm gửi thơng tin theo phương thức POST cho trang web, ví dụ lấy liệu EVENTVALIDATION gửi theo theo phương thức POST EVENTVALIDATION capture /name=" EVENTVALIDATION"[^<]*value=[^"]*"([^"\r\n]* )"/s Nội dung liệu XML http://www.thanhnien.com.vn/pages/Chinh-tri-Xahoi.aspx simple 1 capture title Y //div[@class='cm-title']/a strip Nguyen Trung Kien Trang 93 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Luận văn tốt nghiệp Xây dựng ứng dụng thu thập liệu web tự động link Y http://www.thanhnien.com.vn/pages/Chinh-tri-Xahoi.aspx capture EVENTTARGET /WebForm_PostBackOptions\("([az0-9\$_]*next)"/s entity EVENTARGUMENT capture /WebForm_PostBackOptions\(".*?", "(.*?)",/s entity VIEWSTATE capture /name=" VIEWSTATE"[^<]*value=[^"]*"([^"\r\n]*)"/s EVENTVALIDATION capture /name=" EVENTVALIDATION"[^<]*value=[^"]*"([^"\r\n]* )"/s Nguyen Trung Kien Trang 94 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Luận văn tốt nghiệp Xây dựng ứng dụng thu thập liệu web tự động title varchar 100 Kết 7.2.3 Ví dụ Lấy tiêu đề tin tức mục “Thế giới trẻ” trang báo điện tử: www.thanhnien.com.vn Phân tích - Đường dẫn đến mục “Thế giới trẻ” trang web là: http://www.thanhnien.com.vn/pages/The-gioi-tre.aspx/start> - Trang web sử dụng link vào trang trực tiếp, phân trang javascript, thay cách làm ví dụ trên, ta dùng engine “advanced”: advanced - Dữ liệu mà ta muốn lấy nằm trang đề mục “Thế giới trẻ” ta tạo page có level có template liệu Nguyen Trung Kien Trang 95 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Luận văn tốt nghiệp Xây dựng ứng dụng thu thập liệu web tự động //div[@class='cm-title']/a - Trang có phân trang, cần phải xác định đường dẫn phân trang, link phân trang có ID, ta sử dụng ID để mô tả link phân trang cho action, sau phân trang phần DIV có class “home21” thay đổi, nên ta sử dụng phần tử để theo dõi tình trạng load trang click //div[@class='cm-next']/a 1 Nội dung liệu XML http://www.thanhnien.com.vn/pages/The-gioi-tre.aspx advanced 1 capture title Y //div[@class='cm-title']/a/node() click //div[@class='cm-next']/a 0 title varchar 100 Nguyen Trung Kien Trang 96 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Luận văn tốt nghiệp Xây dựng ứng dụng thu thập liệu web tự động Kết Nguyen Trung Kien Trang 97 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Luận văn tốt nghiệp Xây dựng ứng dụng thu thập liệu web tự động Đánh giá chung 8.1 Các kết đạt Nhìn chung, ứng dụng nhóm xây dựng đạt kết sau: Về phạm vi ứng dụng thực tế, WDE sử dụng với trang web sau: - Những trang khơng có mã client-side JavaScript (hoặc có khơng ảnh hưởng đến việc chuyển trang nội dung trang web), bao gồm: o Các trang web đơn giản, có liên kết đến trang khác hyperlink đơn thuần, khơng có thực thi chương trình server-side chuyển trang đến trang khác o Các trang web đơn giản, có liên kết đến trang khác hyperlink đơn thuần, có thực thi chương trình server-side chuyển trang đến trang khác o Các trang web có liên kết đến trang khác thơng qua form (có thể cần nhập giá trị vào thành phần form), sử dụng phương thức GET POST o Các trang web có chuyển trang phụ thuộc vào cookie - Những trang có mã client-side JavaScript, ảnh hưởng đến việc chuyển trang nội dung trang web, bao gồm: o Các trang web dùng JavaScript để GET POST tương tự form, có khơng có tham số (các tham số lấy từ nội dung HTML trang web) o Các trang sử dụng công nghệ Ajax để cập nhật, thay đổi liệu trang với liệu truyền nhận client server o Các trang web dùng JavaScript để thay đổi cấu trúc DOM HTML, làm thay đổi nội dung trang Web - Trong trường hợp khác mà nhóm chưa có điều kiện thử nghiệm, WDE giả lập web browser để duyệt trang web Về khả nâng cao, hỗ trợ xử lý trường hợp khác, WDE hỗ trợ: Nguyen Trung Kien Trang 98 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Luận văn tốt nghiệp - Xây dựng ứng dụng thu thập liệu web tự động Tự động đăng nhập, vượt qua kiểm tra xác thực (authentication) theo hai kiểu: Basic authentication Form-based authentication - Sử dụng proxy crawl trang web: o Một số trang web sử dụng kỹ thuật chống flood để hạn chế web crawler, bot Các web server trang web kiểm tra hoạt động IP truy cập, IP truy cập liên tục khoảng thời gian định bị block IP chuyển hướng IP Crawler WDE sử dụng proxy để tránh kỹ thuật o Dùng proxy để vượt tường lửa, crawl trang web mà IP WDE không phép truy cập - Thời gian cách hai lần crawl liên tiếp: dùng để tránh kỹ thuật chống flood - Thêm xử lý liệu trích xuất được, trước lưu vào sở liệu Đây khả mở rộng WDE, cho phép người sử dụng tự định nghĩa hàm xử lý cho mình, cách viết helper-function 8.2 Các hạn chế ứng dụng Mặc dù WDE đạt số kết định nhóm thực cịn chưa giải số mặt hạn chế ứng dụng, khả điều kiện thời gian chưa cho phép Một số hạn chế WDE nhận thấy sau: Khó sử dụng: Để giải tốn trích xuất liệu website cụ thể, người sử dụng WDE cần phải có kiến thức Web, HTML, phải phân tích tìm hiểu cấu trúc template, kỹ thuật chuyển trang, thay đổi nội dung trang web Người sử dụng cần phải biết XPath, Perl Expression, jQuery Selector để xác nội dung thơng tin cần trích xuất Việc viết đặc tả đầu vào XML không dễ dàng: WDE chưa cung cấp chế kiểm tra nội dung file đặc tả XML có cấu trúc hay không nên người dùng phải nắm rõ cấu trúc để đặc tả Nguyen Trung Kien Trang 99 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Luận văn tốt nghiệp Xây dựng ứng dụng thu thập liệu web tự động Khi sử dụng crawler engine Advanced, tốc độ crawl trích xuất liệu bị giảm việc lấy nội dung trang web cách giả lập Browser chậm so với sử dụng trực tiếp HTTP method qua thư viện cURL Mặc dù hỗ trợ tốt JavaScript nhiều thư viện JavaScript, nhiên HtmlInput chưa thật hoạt động trang web phức tạp, khiến chương trình bị lỗi 8.3 Hướng phát triển Các hướng phát triển đề tài mà nhóm nghĩ đến: Giải hạn chế thứ nhất: Một số công cụ scraper thương mại Mozenda [6] giải phần hạn chế này, cách tích hợp web browser công cụ cho phép người sử dụng dùng chuột phân vùng liệu cần trích xuất cách trực quan Giải pháp giúp người dùng không cần viết biểu thức XPath, Expression jQuery Selector nữa, nhiên độ xác ứng dụng trích xuất liệu trang khác bị giảm Giải hạn chế thứ hai: Sử dụng DTD (Document Type Definition [1]) XML Schema [1] để đảm bảo cấu trúc tập tin đặc tả đầu vào Hoặc giải pháp tốt xây dựng module cho phép người dùng đặc tả file XML thông qua giao diện trực quan Đối với hạn chế thứ ba, nhóm chưa có giải pháp khắc phục Nguyen Trung Kien Trang 100 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Luận văn tốt nghiệp Xây dựng ứng dụng thu thập liệu web tự động Tổng kết Với nỗ lực thời gian qua nhóm hướng dẫn tận tình Thầy Đặng Trần Trí, đề tài Luận Văn Tốt Nghiệp nhóm đạt số kết định, tránh khỏi vài hạn chế điều kiện thời gian không cho phép Về mặt lý thuyết, nhóm tìm hiểu lượng kiến thức rộng bao quát Nhóm tìm hiểu kiến thức World Wide Web, kỹ thuật sử dụng web crawler web scraper; tìm hiểu kỹ thuật thiết kế, lập trình web phổ biến nay, cụ thể kỹ thuật phân trang, chuyển trang phương thức giao tiếp, truyền nhận liệu máy chủ máy khách ứng dụng web Về mặt thực, nhóm thực kỹ thuật crawl web, thông qua thư viện cURL, hỗ trợ khả crawl phần Web ẩn mà web crawler phổ biến thường có, ajax, form submission, authentication sử dụng proxy, thực thi mã client-side JavaScript Nhóm thực kỹ thuật phân tích, bóc tách trích xuất liệu nội dung HTML, sử dụng Perl Expression, XPath jQuery Selector Về mặt ứng dụng, WDE đem lại khả ứng dụng với nhiều loại website khác hỗ trợ nhiều cách thức chuyển trang, lấy liệu khác nhau, dựa theo phân loại nhóm, kỹ thuật kỹ thuật phổ biến WDE giúp giả lập web browser cho trường hợp phức tạp mà cURL không giải được, thực thi mã JavaScript để lấy nội dung trang Web Ứng dụng đem lại khả mở rộng cho người dùng muốn bổ sung xử lý liệu trích xuất được, thơng qua helper-function mà người dùng tự viết cho Trên kết nhóm nhận thấy đạt sau thời gian 14 tuần làm việc, với hướng dẫn tận tình thầy hướng dẫn Nhân đây, nhóm xin gửi lời cảm ơn đến Thầy Đặng Trần Trí hướng dẫn tận tình góp ý, chỉnh sửa, định hướng giúp nhóm thực đề tài Luận Văn Nhóm xin cám ơn thầy khoa Khoa Học Kỹ Thuật Máy Tính kiến thức nhóm thu nhận sau năm học tập trường Đại Học Bách Khoa Nguyen Trung Kien Trang 101 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com Luận văn tốt nghiệp Xây dựng ứng dụng thu thập liệu web tự động 10 Tài liệu tham khảo Website [1] Wikipedia, http://www.wikipedia.org [2] World Wide Web Consortium (W3C), http://www.w3.org [3] HTML Tidy project, http://tidy.sourceforge.net/ [4] cURL project, http://curl.haxx.se/ [5] CodeIgniter Framework, http://codeigniter.com/ [6] Mozenda software, http://www.mozenda.com/ Tài liệu viết [7] Michael Schrenk (2007) Webbots, Spiders, and Screen Scrapers No Starch, San Francisco, USA [8] Sriram Raghavan, Hector Garcia-Molina (2001) Crawling the Hidden Web Computer Science Department, Stanford University, USA [9] Steve Lawrence, C Lee Giles (1998) Searching the World Wide Web Science, 280(5360):98 [10] Michael K Bergman (2001) White Paper: The Deep Web: Surfacing Hidden Value University of Michigan, USA [11] Stephen Soderland Learning to Extract Text-based Information from the World Wide Web Department of Computer Science & Engineering, University of Washington Nguyen Trung Kien Trang 102 LUAN VAN CHAT LUONG download : add luanvanchat@agmail.com ... dựng ứng dụng thu thập liệu web tự động Các nhiệm vụ: Tìm hiểu kỹ thu? ??t thu thập liệu tự động từ website Hiện thực kỹ thu? ??t để thu thập liệu website cụ thể 1.2.2 Mục tiêu Xây dựng ứng dụng thu. .. nghiệp Xây dựng ứng dụng thu thập liệu web tự động (machine learning) thông qua liệu mẫu [11], nhờ ứng dụng nhiều loại trang web có cấu trúc khác cách tự động Ưu điểm hướng tiếp cận tính tự động. .. Xây dựng ứng dụng thu thập liệu web tự động Người sử dụng cho WDE biết muốn bắt đầu trình thu thập liệu từ trang web nào, dựa theo cách thực thủ cơng - Người sử dụng cho WDE biết muốn trình tự