LUẬN VĂN XÂY DỰNG ỨNG DỤNG THU THẬP DỮ LIỆU WEB ĐỘNG

46 683 2
LUẬN VĂN XÂY DỰNG ỨNG DỤNG THU THẬP DỮ LIỆU WEB ĐỘNG

Đ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

LUẬN VĂN XÂY DỰNG ỨNG DỤNG THU THẬP DỮ LIỆU WEB ĐỘNG

BÁO CÁO TỐT NGHIỆP XÂY DỰNG ỨNG DỤNG THU THẬP DỮ LIỆU WEB ĐỘNG Luận văn tốt nghiệp Xây dựng ứng dụng thu thập dữ liệu web tự động 2 MỤC LỤC 4 Phân tích 4 4.1 Quá trình thu thập dữ liệu tổng quát 4 4.2 Phân loại các trang Web dựa vào cách thức chuyển trang 7 4.3 Các khả năng ứng dụng cần cung cấp 9 5 Thiết kế 11 5.1 Sơ đồ Use Case 11 5.2 Kiến trúc tổng quan 12 5.3 Thành phần FRONT 14 5.3.1 Mô hình MVC 14 5.3.2 Bot Manager 15 5.3.2.1 Các trạng thái của Bot 15 5.3.2.2 Các lệnh tạo mới, xóa, sửa thông tin Robot 17 5.3.3 Statistics 20 5.4 Thành phần CORE 20 5.4.1 Crawler 21 5.4.2 Extractor 23 5.4.3 Các Helper 24 6 Hiện thực 26 6.1 Môi trường phát triển ứng dụng 26 6.2 Giao diện sử dụng của WDE 26 6.3 Đặc tả dữ liệu đầu vào bằng XML (FOXROCK) 30 6.3.1 Cấu trúc tổng quát của file cấu hình XML 30 6.3.2 Chi tiết các thành phần (element) 30 6.4 Các action 30 Luận văn tốt nghiệp Xây dựng ứng dụng thu thập dữ liệu web tự động 3 6.5 Cấu trúc Database 30 6.6 Front 33 6.6.1 Bot Manager 33 6.7 Core 35 6.7.1 Robot 35 6.7.1.1 Quản lý tiến trình của Robot (Robot process) 36 6.7.1.2 Thực hiện quy trình thu thập dữ liệu 38 6.7.2 Crawler 39 6.7.2.1 Simple Crawler: 40 6.7.2.2 Advanced Crawler: 42 6.7.2.2.1 wdeBrowser 42 6.7.2.2.2 Ví dụ 43 6.7.3 Extractor 44 6.7.3.1 Expression Extractor 45 6.7.3.2 XPath Extractor 45 6.7.3.3 Selector Extractor 46 Luận văn tốt nghiệp Xây dựng ứng dụng thu thập dữ liệu web tự động 4 4 Phân tích 4.1 Quá trình thu thập dữ liệu tổng quát Xem xét mô hình tổng quát của một website cung cấp danh bạ về các doanh nghiệp trong nhiều lĩnh vực. Danh bạ này có thể được chia làm nhiều mục lớn (category) về các lĩnh vực lớn, trong mỗi category lại phân ra làm nhiều phân mục nhỏ (sub-category) về các lĩnh vực nhỏ, trong mỗi sub category lại phân ra làm nhiều phân mục nhỏ hơn nữa, cứ thế cho đến phân mục nhỏ nhất, phân mục nhỏ nhất sẽ chứa danh sách các liên kết đến các trang chi tiết về một doanh nghiệp nào đó nằm trong phân mục này. Các trang chi tiết này chính là các trang cấp thấp nhất, nội dung của trang này sẽ chứa các thông tin mà người sử dụng website quan tâm như: tên doanh nghiệp, mô tả về doanh nghiệp, địa chỉ liên lạc, số điện thoại, địa chỉ email v.v… Mô hình trang web kiểu này được gọi là mô hình Master – Detail [1], trong trường hợp tổng quát, các trang cấp N chính là trang master của trang cấp N+1 và trang cấp N+1 là trang detail của trang cấp N, và cấp N+1 được gọi là thấp hơn cấp N. Lưu ý rằng ở mỗi cấp có thể sẽ có sự phân trang (pagination – danh sách các category thuộc cùng 1 cấp sẽ không chỉ nằm trong 1 trang mà có thể nằm trong nhiều trang). Ta gọi những trang hiển thị danh sách các category lớn nhất là những trang cấp 1, từ một trong những trang cấp 1 nếu ta chọn 1 category nào đó thì sẽ dẫn đến một trang hiển thị các sub-category thuộc category đã chọn, những trang này ta gọi là những trang cấp 2, và cứ thế cho đến cấp thấp nhất. Luận văn tốt nghiệp Xây dựng ứng dụng thu thập dữ liệu web tự động 5 Hình 4-1. Một trang web danh bạ Giả sử một tình huống như sau: một người sử dụng tên là John muốn thu thập các thông tin về các doanh nghiệp nằm trong một lĩnh vực nào đó như tên doanh nghiệp, địa chỉ email, để phục vụ mục đích gửi thư quảng cáo. Nếu như John không có một công cụ hỗ trợ nào thì anh ta sẽ phải thực hiện công việc thu thập thông tin này một cách thủ công. Trình tự công việc John phải làm có thể sẽ như sau: 1. Từ trang chủ website, John lần lượt click vào các liên kết phân mục để vào được phân mục của lĩnh vực kinh doanh mong muốn. 2. Sau khi đã vào được phân mục của lĩnh vực John mong muốn, John sẽ thấy danh sách các doanh nghiệp thuộc lĩnh vực này được liệt kê ra. Anh ta phải click vào đường dẫn dẫn đến trang chi tiết của doanh nghiệp đầu tiên. 3. Ở trang thông tin chi tiết này (một trang cấp N, cấp thấp nhất), John chọn những thông tin mà anh ta mong muốn (ở dạng chữ) và copy các thông tin đó, lưu vào đâu đó mà John muốn, có thể là một tài liệu Microsoft Excel. Luận văn tốt nghiệp Xây dựng ứng dụng thu thập dữ liệu web tự động 6 4. Sau khi lấy được thông tin của doanh nghiệp này, John phải trở lại trang danh sách doanh nghiệp trước đó (trang cấp N-1) và click vào đường dẫn dẫn đến trang chi tiết của doanh nghiệp thứ hai. John lại lặp lại công việc của bước thứ 3. 5. Nếu số doanh nghiệp thuộc lĩnh vực này quá nhiều thì danh sách các doanh nghiệp có thể sẽ bị phân thành nhiều trang, và nếu John đã duyệt hết thông tin của các doanh nghiệp nằm trong trang đầu tiên, anh ta sẽ phải chuyển sang trang thứ hai của danh sách (cũng bằng một đường dẫn hoặc một nút do website cung cấp) để tiếp tục công việc của mình. Qua một trình tự khá tổng quát của công việc thu thập thông tin như trên, ta có thể rút ra một số nhận xét như sau:  Khi John click chuột để vào các trang phân mục con, hoặc để vào trang thông tin chi tiết, công việc này chính là để chuyển từ trang này sang trang khác. Tuy nhiên đối tượng trên trang web mà John có thể click chuột vào được, không phải lúc nào cũng là một hyperlink mà đó có thể là một nút bấm hoặc một đối tượng điều khiển nào đó khác. Và cũng tùy thuộc vào công nghệ sử dụng của website mà không phải bao giờ chuyển trang, URL của trang mới cũng khác URL của trang cũ. Trang web có thể sử dụng các đoạn mã client-side như JavaScript để thực hiện một HTTP POST method, postback các tham số ẩn (hidden input) để chuyển trang mà URL không bị thay đổi (công nghệ ASP.NET), hoặc cũng chính những đoạn mã JavaScript nhưng trang web chỉ load lại phần nội dung cần thiết mà không khiến web browser phải load một trang mới (công nghệ Ajax [1]). Tuy nhiên mọi công nghệ vẫn phải dựa vào một nền tảng đó là HTTP. Nhờ đặc điểm này mà việc tạo ra một công cụ giả lập được việc “click chuột” của người duyệt Web là hoàn toàn khả thi, với điều kiện chúng ta phải cung cấp cho công cụ biết cụ thể các thông tin cần thiết như: cần chuyển đến URL nào, cần GET hoặc POST các tham số gì, hoặc cần thực thi các đoạn mã JavaScript nào, v.v… Thư viện của cURL sẽ giúp chúng ta đạt được một phần của các mục tiêu này.  Khi đã vào được trang chi tiết chứa những thông tin mong muốn, John chọn các thông tin mà anh ta mong muốn, copy-paste để lưu lại. Có thể thấy rằng công việc này khá dễ dàng đối với con người, tuy nhiên đối với máy tính lại là cả một vấn đề không nhỏ. Các trang web được viết ra để phục vụ cho đối tượng chính là con người, các nội dung thể hiện trên trang web luôn có ngữ nghĩa riêng của nó mà chỉ có con người mới có thể hiểu được. Tuy nhiên, để ý một điều rằng, các website tuy rằng rất đa dạng Luận văn tốt nghiệp Xây dựng ứng dụng thu thập dữ liệu web tự động 7 vàphong phú, nhưng các trang web nằm trong cùng một website lại thường được thiết kế với một cấu trúc tương tự nhau, gọi là web template. Các web template dựa vào cách thiết kế, sắp đặt các phần tử HTML, kết hợp với Cascading Style Sheets (CSS), đem lại một cấu trúc nhất quán cho toàn bộ website. Lấy ví dụ cụ thể đối với các trang thông tin chi tiết về doanh nghiệp nêu trên, các trang này sẽ thường có chung một template, tức là sự sắp xếp các thẻ HTML trong các trang này hầu hết là giống nhau, chỉ có phần nội dung chữ bên trong các thẻ này là khác nhau vì nó thể hiện cho thông tin của các doanh nghiệp riêng biệt. Chính vì lý do này, khi đã có được nội dung của toàn bộ trang web, chúng ta hoàn toàn có thể trích xuất được phần nội dung mong muốn, giả lập cho công việc copy-paste của John, với điều kiện được cung cấp vị trí chính xác của phần dữ liệu mong muốn trong template của trang web. XPath và Perl Expression có thể giúp chúng ta đạt được mục đích này. Một lưu ý nhỏ rằng: nội dung của trang web phải ở một dạng chuẩn tựa XML để XPath có thể chỉ ra được đúng vị trí dữ liệu ta mong muốn, cũng như để tránh các lỗi có thể xảy ra (chẳng hạn do người thiết kế web viết cẩu thả - bad HTML), và dạng chuẩn đó tựa XML đó chính là XHTML. Thư viện Tidy sẽ giúp ứng dụng chuyển đổi nội dung HTML thành XHTML. Trên đây chỉ là một ví dụ tổng quát của bài toán thu thập dữ liệu tự động. Trong thực tế sẽ có nhiều khác biệt phát sinh, ví dụ người sử dụng không chỉ mong muốn trích xuất các thông tin ở trang detail cấp thấp nhất mà anh ta còn muốn một số thông tin ở các trang cấp cao hơn, chẳng hạn thu thập thông tin các doanh nghiệp của nhiều lĩnh vực, kèm với thông tin về lĩnh vực nằm trong trang phân mục. Ứng dụng sẽ phải cung cấp khả năng trích xuất được thông tin nằm trong một hoặc nhiều trang có cấp bất kỳ, các dữ liệu trích xuất được sẽ được lưu vào cơ sở dữ liệu để tiện cho việc tra cứu, sử dụng về sau. 4.2 Phân loại các trang Web dựa vào cách thức chuyển trang Theo như cách phân loại Web ở phần 2.1.4, chúng ta có thể thấy được cái nhìn tổng quan về các Web tĩnh và động, cũng như có được cái nhìn chung về khả năng và giới hạn hoạt động của các Web crawler, so với thành phần crawler của ứng dụng cần xây dựng. Tuy nhiên để có thể đi vào các vấn đề chi tiết, cụ thể hơn trong việc hiện thực các kỹ thuật sử dụng bởi ứng dụng, ta cần phải phân loại lại các trang Web dựa vào cách thức chuyển trang từ trang đó sang các trang Web khác, hoặc thay đổi từ nội dung này sang nội dung khác trong cùng một trang web. Đây là vấn đề cốt lõi quyết định hoạt động của thành phần Crawler của ứng dụng Luận văn tốt nghiệp Xây dựng ứng dụng thu thập dữ liệu web tự động 8 vì thành phần này quan tâm đến việc làm thế nào để lấy được nội dung của các trang Web một cách tự động. Cách thức chuyển trang này phụ thuộc vào kỹ thuật sử dụng của người lập trình web. Nhìn chung có thể phân ra làm 2 loại sau: A. Loại I: Kỹ thuật chuyển trang sử dụng các phương thức HTTP GET, HTTP POST thông thường. Các trang web loại này không sử dụng JavaScript, hoặc có sử dụng JavaScript nhưng không làm ảnh hưởng đến cách thức chuyển trang hoặc nội dung của trang web. Giả sử một trang web X có thể dẫn đến một trang web Y khác và Y là một trang cần thiết cho quá trình thu thập dữ liệu mong muốn. Trang web X sẽ được xếp vào loại I nếu như ta có thể đến được trang Y (hoặc chính xác hơn là lấy được nội dung HTML của Y) chỉ nhờ vào duy nhất một yêu cầu HTTP GET hoặc HTTP POST đơn giản. Ví dụ: - Y được dẫn đến từ X bởi các liên kết hyperlink đơn thuần (GET) - Y được dẫn đến từ X bởi một form submit (GET hoặc POST) - Y được dẫn đến từ X bởi một yêu cầu GET hoặc POST, chương trình thực thi trên máy chủ có sử dụng đến cookie hoặc các biến session để tạo ra nội dung của Y. - Với nhiều ứng dụng web xây dựng bằng ASP.NET, khi người duyệt web tác động một điều khiển (control) trên X, một đoạn mã JavaScript được thực thi để postback một hoặc nhiều tham số chứa trong các hidden input, máy chủ nhận các tham số, xử lý và chuyển người dùng đến trang Y. Kỹ thuật này về bản chất cũng là một HTTP POST đơn thuần với các tham số nằm ẩn trong nội dung HTML. B. Loại II: kỹ thuật chuyển trang hoặc sử dụng đến các đoạn mã nhúng client-side như JavaScript, làm thay đổi cấu trúc DOM hoặc nội dung bên trong của trang web, hoặc không thể xếp vào loại I. Giả sử một trang web X có thể dẫn đến một trang web Y khác và Y là một trang cần thiết cho quá trình thu thập dữ liệu mong muốn. Trang web X sẽ được xếp vào loại II nếu như ta không thể đến được Y (hoặc chính xác hơn là lấy được nội dung HTML của Y) chỉ bằng một yêu cầu HTTP GET hoặc HTTP POST. Ví dụ: - Công nghệ Ajax: sử dụng JavaScript để thực hiện các yêu cầu GET hoặc POST, tuy nhiên chỉ để lấy và nhận dữ liệu, dữ liệu nhận được từ máy chủ lại được Luận văn tốt nghiệp Xây dựng ứng dụng thu thập dữ liệu web tự động 9 JavaScript xử lý (chẳng hạn thay đổi cấu trúc DOM của trang web) để hiển thị kết quả lên cho người duyệt web. Web browser cũng không phải load trang web mới. 4.3 Các khả năng ứng dụng cần cung cấp Từ những phân tích trên, nhóm nhận thấy ứng dụng cần xây dựng đòi hỏi phải có các khả năng chính sau đây: (tên của ứng dụng được tạm gọi là WDE – Web Data Extractor) - Người sử dụng có thể cho WDE biết anh ta muốn bắt đầu quá trình thu thập dữ liệu từ trang web nào, dựa theo cách anh ta thực hiện thủ công. - Người sử dụng có thể cho WDE biết anh ta muốn trình tự chuyển trang (chuyển phân trang, chuyển đến trang chi tiết cấp thấp hơn, hoặc thay đổi nội dung trên cùng trang web) như thế nào, dựa theo kỹ thuật chuyển trang được hiện thực bởi trang web. - Người sử dụng có thể cho WDE biết ở mỗi trang được duyệt qua, phần dữ liệu nào trong nội dung của trang cần được trích xuất. - Người sử dụng có thể cho WDE biết mỗi dữ liệu trích xuất được sẽ được lưu vào đâu và như thế nào. Bốn khả năng trên cùng thể hiện chung cho một khả năng lớn duy nhất: ứng dụng có khả năng giúp người sử dụng mã hóa các tri thức, cung cấp các chỉ dẫn quan trọng cho ứng dụng. Khi thực hiện theo cách thủ công, người thu thập cần phải thực hiện lặp đi lặp lại các chuỗi thao tác một cách phí công sức do các trang web trong cùng một website thường dùng chung một web template. Do đó, nếu như WDE có thể giúp người sử dụng đặc tả được các chuỗi thao tác (lặp lại) này, WDE sẽ có thể trích xuất dữ liệu một cách tự động và hiệu quả. Nhóm đã sử dụng ngôn ngữ XML làm ngôn ngữ thể hiện các đặc tả này vì tính cấu trúc rõ ràng của XML. Tuy nhiên, một khó khăn không nhỏ đó là: người sử dụng cũng cần phải có hiểu biết về cấu trúc của các trang web cần trích xuất thông tin cũng như cách thức các trang này liên kết với nhau. Lợi điểm của cách tiếp cận này đó là người sử dụng chỉ cần đặc tả một lần duy nhất trước khi thực thi ứng dụng. Ngoài ra theo như các phân tích ở phần trước, thực tế không chỉ có các thao tác là chuyển trang bằng hyperlink và trích xuất dữ liệu bằng copy – paste, mà còn có các tình huống khác như: các trang cần xác thực danh tính (authentication), các trang cần nhập liệu vào form và submit, các trang sử dụng Ajax, dữ liệu sau khi trích xuất cần được xử lý thêm v.v… WDE cũng cần phải hỗ trợ người dùng đặc tả cách xử lý đối với các trường hợp này (ví Luận văn tốt nghiệp Xây dựng ứng dụng thu thập dữ liệu web tự động 10 dụ login bằng username và password gì, nhập liệu các giá trị gì vào form, dữ liệu sau khi trích xuất được thì cần xử lý như thế nào …). Bên cạnh đó, WDE cũng cần cho phép người sử dụng quản lý các quá trình thu thập dữ liệu của mình, hay nói cách khác là quản lý các Robot, mỗi Robot được sử dụng cho một bài toán thu thập dữ liệu. Các Robot cũng có thể chạy song song (đa tiến trình) để có thể đem lại hiệu quả công việc cao hơn. Một số các khả năng mở khác sẽ được đề cập chi tiết hơn ở các phần sau của báo cáo này. [...]... người sử dụng nhập dữ liệu đặc tả đầu vào dưới dạng XML Sau khi người sử dụng submit, đặc tả đầu vào được lưu vào cơ sở dữ liệu và trạng thái của Bot vừa tạo sẽ ở trạng thái Ready 17 Luận văn tốt nghiệp Xây dựng ứng dụng thu thập dữ liệu web tự động Hình 5-6 Quá trình tạo mới một Bot 18 Luận văn tốt nghiệp Xây dựng ứng dụng thu thập dữ liệu web tự động  Chỉnh sửa thông tin Robot: Người sử dụng có thể... Robot: 27 Luận văn tốt nghiệp Xây dựng ứng dụng thu thập dữ liệu web tự động Hình 6-2 Giao diện nhập / chỉnh sửa dữ liệu đặc tả đầu vào XML Giao diện thay đổi / chỉnh sửa Robot gồm có các input: - Name: tên của Robot - XML: cấu hình của Robot Màn hình quản lý dữ liệu: 28 Luận văn tốt nghiệp Xây dựng ứng dụng thu thập dữ liệu web tự động Hình 6-3 Giao diện quản lý hoạt động Bot và xem dữ liệu trích... Kiễu dữ liệu Miền GT Ghi chú 1 id Mã Log int(11) Khóa chính 2 crawl_id Mã Robot int(11) Quan hệ với bảng Robot 3 message Thông tin Text 4 created Thời gian tạo log int(11) 32 Luận văn tốt nghiệp Xây dựng ứng dụng thu thập dữ liệu web tự động 6.6 Front 6.6.1 Bot Manager Hình 6-4 Sơ đồ tuần tự của tác vụ start Bot Hình 6-5 Sơ đồ tuần tự của tác vụ resume Bot 33 Luận văn tốt nghiệp Xây dựng ứng dụng thu thập. .. thông số trong quá trình thực thi ứng dụng, thể hiện lên cho người sử dụng Phần giao diện của ứng dụng cũng nằm trong thành phần FRONT này 13 Luận văn tốt nghiệp Xây dựng ứng dụng thu thập dữ liệu web tự động Thành phần CORE bao gồm hai module quan trọng đó là Crawler và Extractor, đảm nhiệm vai trò chức năng chính của ứng dụng Tuy nhiên để nâng cao khả năng mở rộng cho ứng dụng, hai module con này được... 6-3 Giao diện quản lý hoạt động Bot và xem dữ liệu trích xuất được Màn hình dữ liệu gồm có: - Grid chọn Robot để thể hiện dữ liệu của Robot - Thông tin về Bot: các thông tin về bot như tên, trạng thái, và các thời gian liên quan - Dữ liệu của bot 29 Luận văn tốt nghiệp Xây dựng ứng dụng thu thập dữ liệu web tự động 6.3 Đặc tả dữ liệu đầu vào bằng XML (FOXROCK) 6.3.1 Cấu trúc tổng quát của file cấu hình... ứng dụng sẽ tự ngừng Bot để Bot trở về trạng thái Ready Sau khi chỉnh sửa, ứng dụng sẽ đọc lại đặc tả XML và cập nhật lại vào cơ sở dữ liệu Hình 5-7 Quá trình chỉnh sửa một Bot  Xóa Bot: khi xóa một Bot, toàn bộ thông tin cũng như dữ liệu trích xuất được trong các lần chạy trước của Bot trong cơ sở dữ liệu sẽ bị xóa Hình 5-8 Quá trình xóa một Bot 19 Luận văn tốt nghiệp Xây dựng ứng dụng thu thập dữ. .. FRONT và CORE FRONT là thành phần front-end của ứng dụng, còn CORE là thành phần cốt lõi của ứng dụng (back-end), thực hiện các công việc crawl và trích xuất dữ liệu Hai thành phần này tương tác với nhau để cùng vận hành 12 Luận văn tốt nghiệp Xây dựng ứng dụng thu thập dữ liệu web tự động Hình 5-2 Kiến trúc tổng quan của WDE Bản thân thành phần FRONT sử dụng kiến trúc Model-View-Controller (MVC) [1]... và cùng được Robot sử dụng để hoàn thành công việc trích 20 Luận văn tốt nghiệp Xây dựng ứng dụng thu thập dữ liệu web tự động xuất dữ liệu tự động Để có thể vận hành được, Robot cũng cần đến các đối tượng trợ giúp, được gọi là các Helper Các helper có thể hiểu là những đối tượng Wrapper của các thư viện quan trọng, hoặc là những đối tượng có các hàm trợ giúp như giúp đọc dữ liệu đầu vào XML Ngoài... phạm với cấu trúc XML của chương trình 2 Edit Robot Thay đổi cấu hình của Robot Dữ liệu đầu vào của Robot không được vi phạm với cấu trúc XML của chương trình 3 Delete Robot Xóa Robot 11 Luận văn tốt nghiệp 4 Start Robot Xây dựng ứng dụng thu thập dữ liệu web tự động Kích họat Robot chạy Toàn bộ thông tin, dữ liệu thu thập được đều bị xóa trước khi Robot được chạy 5 Pause Robot Tạm dừng Robot Có thể... nếu sử dụng lệnh Stop, hoặc chuyển đến trạng thái Paused nếu sử dụng lệnh tạm dừng Pause Nếu có lỗi xảy ra trong quá trình thực thi, 16 Luận văn tốt nghiệp Xây dựng ứng dụng thu thập dữ liệu web tự động Bot sẽ tự động chuyển đến trạng thái Error Trạng thái Started có thể đạt được thông qua các cách sau: - Người sử dụng ra lệnh start khi Bot đang ở Ready - Bot đang bị tạm dừng (Paused) và người sử dụng . CÁO TỐT NGHIỆP XÂY DỰNG ỨNG DỤNG THU THẬP DỮ LIỆU WEB ĐỘNG Luận văn tốt nghiệp Xây dựng ứng dụng thu thập dữ liệu web tự động 2 MỤC LỤC. Ready. Luận văn tốt nghiệp Xây dựng ứng dụng thu thập dữ liệu web tự động 18 Hình 5-6. Quá trình tạo mới một Bot Luận văn tốt nghiệp Xây dựng ứng dụng

Ngày đăng: 16/02/2014, 02:56

Hình ảnh liên quan

Hình 4-1. Một trang web danh bạ - LUẬN VĂN XÂY DỰNG ỨNG DỤNG THU THẬP DỮ LIỆU WEB ĐỘNG

Hình 4.

1. Một trang web danh bạ Xem tại trang 5 của tài liệu.
nghĩa các tác vụ được liệt kê ở bảng dưới đây: - LUẬN VĂN XÂY DỰNG ỨNG DỤNG THU THẬP DỮ LIỆU WEB ĐỘNG

ngh.

ĩa các tác vụ được liệt kê ở bảng dưới đây: Xem tại trang 11 của tài liệu.
Hình 5-1. Sơ đồ Use Case của ứng dụng WDE - LUẬN VĂN XÂY DỰNG ỨNG DỤNG THU THẬP DỮ LIỆU WEB ĐỘNG

Hình 5.

1. Sơ đồ Use Case của ứng dụng WDE Xem tại trang 11 của tài liệu.
Hình 5-2. Kiến trúc tổng quan của WDE - LUẬN VĂN XÂY DỰNG ỨNG DỤNG THU THẬP DỮ LIỆU WEB ĐỘNG

Hình 5.

2. Kiến trúc tổng quan của WDE Xem tại trang 13 của tài liệu.
Hình 5-3. Kiến trúc của thành phần FRONT - LUẬN VĂN XÂY DỰNG ỨNG DỤNG THU THẬP DỮ LIỆU WEB ĐỘNG

Hình 5.

3. Kiến trúc của thành phần FRONT Xem tại trang 14 của tài liệu.
Hình 5-4. Mơ hình MVC - LUẬN VĂN XÂY DỰNG ỨNG DỤNG THU THẬP DỮ LIỆU WEB ĐỘNG

Hình 5.

4. Mơ hình MVC Xem tại trang 15 của tài liệu.
Hình 5-5. Sơ đồ các trạng thái của Bot - LUẬN VĂN XÂY DỰNG ỨNG DỤNG THU THẬP DỮ LIỆU WEB ĐỘNG

Hình 5.

5. Sơ đồ các trạng thái của Bot Xem tại trang 16 của tài liệu.
Hình 5-6. Quá trình tạo mới một Bot - LUẬN VĂN XÂY DỰNG ỨNG DỤNG THU THẬP DỮ LIỆU WEB ĐỘNG

Hình 5.

6. Quá trình tạo mới một Bot Xem tại trang 18 của tài liệu.
Hình 5-7. Quá trình chỉnh sửa một Bot - LUẬN VĂN XÂY DỰNG ỨNG DỤNG THU THẬP DỮ LIỆU WEB ĐỘNG

Hình 5.

7. Quá trình chỉnh sửa một Bot Xem tại trang 19 của tài liệu.
Hình 5-9. Quá trình nhận dữ liệu đặc tả đầu vào XML - LUẬN VĂN XÂY DỰNG ỨNG DỤNG THU THẬP DỮ LIỆU WEB ĐỘNG

Hình 5.

9. Quá trình nhận dữ liệu đặc tả đầu vào XML Xem tại trang 20 của tài liệu.
Hình 5-10. Kiến trúc thành phần CORE - LUẬN VĂN XÂY DỰNG ỨNG DỤNG THU THẬP DỮ LIỆU WEB ĐỘNG

Hình 5.

10. Kiến trúc thành phần CORE Xem tại trang 21 của tài liệu.
Hình 5-11. Quá trình hoạt động tổng quát của ROBOT - LUẬN VĂN XÂY DỰNG ỨNG DỤNG THU THẬP DỮ LIỆU WEB ĐỘNG

Hình 5.

11. Quá trình hoạt động tổng quát của ROBOT Xem tại trang 22 của tài liệu.
Hình 5-12. Crawler gồm có 2 crawler engine là Simple và Advanced - LUẬN VĂN XÂY DỰNG ỨNG DỤNG THU THẬP DỮ LIỆU WEB ĐỘNG

Hình 5.

12. Crawler gồm có 2 crawler engine là Simple và Advanced Xem tại trang 23 của tài liệu.
Hình 5-13. Extractor gồm có 3 Extractor con - LUẬN VĂN XÂY DỰNG ỨNG DỤNG THU THẬP DỮ LIỆU WEB ĐỘNG

Hình 5.

13. Extractor gồm có 3 Extractor con Xem tại trang 24 của tài liệu.
Hình 6-1. Giao diện chính của WDE - LUẬN VĂN XÂY DỰNG ỨNG DỤNG THU THẬP DỮ LIỆU WEB ĐỘNG

Hình 6.

1. Giao diện chính của WDE Xem tại trang 27 của tài liệu.
Hình 6-2. Giao diện nhập / chỉnh sửa dữ liệu đặc tả đầu vào XML - LUẬN VĂN XÂY DỰNG ỨNG DỤNG THU THẬP DỮ LIỆU WEB ĐỘNG

Hình 6.

2. Giao diện nhập / chỉnh sửa dữ liệu đặc tả đầu vào XML Xem tại trang 28 của tài liệu.
Hình 6-3. Giao diện quản lý hoạt động Bot và xem dữ liệu trích xuất được - LUẬN VĂN XÂY DỰNG ỨNG DỤNG THU THẬP DỮ LIỆU WEB ĐỘNG

Hình 6.

3. Giao diện quản lý hoạt động Bot và xem dữ liệu trích xuất được Xem tại trang 29 của tài liệu.
6.3.1 Cấu trúc tổng quát của file cấu hình XML - LUẬN VĂN XÂY DỰNG ỨNG DỤNG THU THẬP DỮ LIỆU WEB ĐỘNG

6.3.1.

Cấu trúc tổng quát của file cấu hình XML Xem tại trang 30 của tài liệu.
 Bảng URL (wde_url) - LUẬN VĂN XÂY DỰNG ỨNG DỤNG THU THẬP DỮ LIỆU WEB ĐỘNG

ng.

URL (wde_url) Xem tại trang 31 của tài liệu.
bảng Robot - LUẬN VĂN XÂY DỰNG ỨNG DỤNG THU THẬP DỮ LIỆU WEB ĐỘNG

b.

ảng Robot Xem tại trang 31 của tài liệu.
 Bảng Log (wde_log) - LUẬN VĂN XÂY DỰNG ỨNG DỤNG THU THẬP DỮ LIỆU WEB ĐỘNG

ng.

Log (wde_log) Xem tại trang 32 của tài liệu.
bảng Robot - LUẬN VĂN XÂY DỰNG ỨNG DỤNG THU THẬP DỮ LIỆU WEB ĐỘNG

b.

ảng Robot Xem tại trang 32 của tài liệu.
Hình 6-6. Sơ đồ tuần tự của tác vụ pause Bot - LUẬN VĂN XÂY DỰNG ỨNG DỤNG THU THẬP DỮ LIỆU WEB ĐỘNG

Hình 6.

6. Sơ đồ tuần tự của tác vụ pause Bot Xem tại trang 34 của tài liệu.
Hình 6-8. Sơ đồ class giữa Robo t- Crawler- Extractor - LUẬN VĂN XÂY DỰNG ỨNG DỤNG THU THẬP DỮ LIỆU WEB ĐỘNG

Hình 6.

8. Sơ đồ class giữa Robo t- Crawler- Extractor Xem tại trang 35 của tài liệu.
Hình 6-9. Sơ đồ tuần tự thể hiện quá trình hoạt động tổng quát của Robot - LUẬN VĂN XÂY DỰNG ỨNG DỤNG THU THẬP DỮ LIỆU WEB ĐỘNG

Hình 6.

9. Sơ đồ tuần tự thể hiện quá trình hoạt động tổng quát của Robot Xem tại trang 36 của tài liệu.
Hình 6-10. Quá trình thu thập dữ liệu tổng quát - LUẬN VĂN XÂY DỰNG ỨNG DỤNG THU THẬP DỮ LIỆU WEB ĐỘNG

Hình 6.

10. Quá trình thu thập dữ liệu tổng quát Xem tại trang 38 của tài liệu.
Hình 6-12. Sơ đồ tuần tự hoạt động của Simple Crawler - LUẬN VĂN XÂY DỰNG ỨNG DỤNG THU THẬP DỮ LIỆU WEB ĐỘNG

Hình 6.

12. Sơ đồ tuần tự hoạt động của Simple Crawler Xem tại trang 40 của tài liệu.
Hình 6-11. Sơ đồ class của các Crawler - LUẬN VĂN XÂY DỰNG ỨNG DỤNG THU THẬP DỮ LIỆU WEB ĐỘNG

Hình 6.

11. Sơ đồ class của các Crawler Xem tại trang 40 của tài liệu.
Hình 6-13. Sơ đồ tuần tự hoạt động của Advanced Crawler - LUẬN VĂN XÂY DỰNG ỨNG DỤNG THU THẬP DỮ LIỆU WEB ĐỘNG

Hình 6.

13. Sơ đồ tuần tự hoạt động của Advanced Crawler Xem tại trang 42 của tài liệu.
Hình 6-14. Sơ đồ class của các Extractor - LUẬN VĂN XÂY DỰNG ỨNG DỤNG THU THẬP DỮ LIỆU WEB ĐỘNG

Hình 6.

14. Sơ đồ class của các Extractor Xem tại trang 45 của tài liệu.

Từ khóa liên quan

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

Tài liệu liên quan