TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN KHOA CÔNG NGHỆ THÔNG TINNGUYỄN ĐỨC HUY – NGUYỄN HUY KHÁNH NGHIÊN CỨU VÀ PHÁT TRIỂN HỆ THỐNG XÂY DỰNG VÀ VẬN HÀNH TỰ ĐỘNG WEBBOT THU THẬP THÔNG TIN TRÊN
Trang 1TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN KHOA CÔNG NGHỆ THÔNG TIN
NGUYỄN ĐỨC HUY – NGUYỄN HUY KHÁNH
NGHIÊN CỨU VÀ PHÁT TRIỂN HỆ THỐNG XÂY DỰNG VÀ VẬN HÀNH TỰ ĐỘNG WEBBOT THU THẬP THÔNG TIN
TRÊN INTERNET ĐỂ CUNG ỨNG
CÁC DỊCH VỤ WEB THEO YÊU CẦU
KHÓA LUẬN TỐT NGHIỆP CỬ NHÂN CNTT
TP.HCM, 2008
Trang 2TRƯỜNG ĐẠI HỌC KHOA HỌC TỰ NHIÊN KHOA CÔNG NGHỆ THÔNG TIN
NGHIÊN CỨU VÀ PHÁT TRIỂN HỆ THỐNG XÂY DỰNG VÀ VẬN HÀNH TỰ ĐỘNG WEBBOT THU THẬP THÔNG TIN
TRÊN INTERNET ĐỂ CUNG ỨNG
CÁC DỊCH VỤ WEB THEO YÊU CẦU KHÓA LUẬN TỐT NGHIỆP CỬ NHÂN TIN HỌC
GIÁO VIÊN HƯỚNG DẪN Th.S ĐỖ HOÀNG CƯỜNG - Th.S TRẦN MINH TRIẾT
NIÊN KHÓA 2005 – 2008
Trang 3NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN
………
………
………
………
………
………
………
………
………
………
………
………
………
………
……… Khóa luận đáp ứng yêu cầu của LV cử nhân tin học
TpHCM, ngày …… tháng …… năm 2008
Giáo viên hướng dẫn
Trang 4NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN
………
………
………
………
………
………
………
………
………
………
………
………
………
………
……… Khóa luận đáp ứng yêu cầu của LV cử nhân tin học
TpHCM, ngày …… tháng …… năm 2008
Giáo viên phản biện
Trang 5LỜI CÁM ƠN
Chúng em xin chân thành cảm ơn Khoa Công Nghệ Thông Tin, trường Đại HọcKhoa Học Tự Nhiên, Tp.HCM đã tạo điều kiện tốt cho chúng em thực hiện đề tàitốt nghiệp này
Chúng em xin chân thành cảm ơn Thầy Đỗ Hoàng Cường và Thầy Trần Minh Triếtnhững người đã tận tình hướng dẫn, chỉ bảo chúng em trong suốt thời gian thực hiện
đề tài
Chúng em cũng xin gửi lời cảm ơn sâu sắc đến quý Thầy Cô trong Khoa đã tận tìnhgiảng dạy, trang bị cho chúng em những kiến thức quí báu trong những năm họcvừa qua
Chúng em xin gửi lòng biết ơn sâu sắc đến ba, mẹ, các anh chị và bạn bè đã ủng hộ,giúp đỡ và động viên chúng em trong những lúc khó khăn cũng như trong suốt thờigian học tập và nghiên cứu
Mặc dù chúng em đã cố gắng hoàn thành luận văn trong phạm vi và khả năng chophép, nhưng chắc chắn sẽ không tránh khỏi những thiếu sót, kính mong sự cảmthông và tận tình chỉ bảo của quý Thầy Cô và các bạn
Nhóm thực hiệnNguyễn Đức Huy & Nguyễn Huy Khánh
Trang 6ĐỀ CƯƠNG CHI TIẾT
Tên Đề Tài: Nghiên cứu và phát triển hệ thống xây dựng và vận hành tự động
WebBot thu thập thông tin trên Internet để cung ứng các dịch vụ web theo yêu cầu
Giáo viên hướng dẫn: ThS Đỗ Hoàng Cường – ThS Trần Minh Triết
Thời gian thực hiện: từ ngày 07/12/2007 đến ngày 15/07/2008
Sinh viên thực hiện:
Nguyễn Đức Huy (05HC077) – Nguyễn Huy Khánh (05HC087)
Loại đề tài: Tìm hiểu công nghệ và xây dựng ứng dụng
Nội Dung Đề Tài (mô tả chi tiết nội dung đề tài, yêu cầu, phương pháp thực hiện,
kết quả đạt được, …):
Đây là đề tài thuộc về hướng tìm hiểu công nghệ và phát triển ứng dụng Đề tàibao gồm các phần sau:
Khảo sát hiện trạng các hệ thống phần mềm thu thập thông tin tự động hiện
đang có trên thế giới: Kapow Mashup Server, iMacros, Newbie Web Automation, Automation Anywhere, SWExplorerAutomation.
Thông qua việc khảo sát hiện trạng của các hệ thống trên, phân tích các vấn
đề cũng như giải pháp về kỹ thuật, công nghệ khi phát triển hệ thống xâydựng và vận hành WebBot
o Nêu lên các vấn đề khi xây dựng hệ thống
o Đề ra các giải pháp mang tính kĩ thuật, công nghệ
o Trên cở sở tìm hiểu và phân tích các vấn đề, nhóm sẽ phát triển hệthống xây dựng và vận hành WebBot thu thập thông tin trên Web
Trên cơ sở phát triển hệ thống này, nhóm xây dựng website cung cấp dịch
vụ web cho phép những website khác đưa lên những thông tin đã được rút
Trang 7trích, thu thập thông tin từ nhiều nguồn khác nhau
- 16/01/2008 đến 16/02/2008: Tìm hiểu và hoàn tất các yêu cầu về mặt kĩ thuật
- 17/02/2008 đến 31/02/2008: Xây dựng khung chương trình cho hệ thống thuthập thông tin trên Web
- 01/03/2008 đến 13/04/2008: Hoàn thành các chức năng chính của hệ thống
- 14/04/2008 đến 31/04/2008: Nâng cấp, cải thiện hiệu suất tốc độ xử lý
- 01/05/2008 đến 11/05/2008: Xây dựng khung chương trình cho hệ thống dịch
vụ web
- 12/05/2008 đến 31/05/2008: Hoàn thành các chức năng của dịch vụ web
- 01/06/2008 đến 22/06/2008: Nâng cấp giao diện và tính tiện dụng của websitecung cấp dịch vụ
- 23/06/2008 đến 15/07/2008: Hoàn thành toàn bộ chương trình dựa trên quitrình và giải pháp đã xây dựng
Xác nhận của GVHD Ngày 10 tháng 01 năm 2008
SV Thực hiện
Trang 8MỤC LỤC
Chương 1 Mở đầu 1
1.1 Giới thiệu Web 2.0 và xu hướng phát triển 1
1.2 Giới thiệu về đề tài 2
1.3 Mục tiêu của đề tài 2
1.4 Nội dung của luận văn 3
Chương 2 Khảo sát hiện trạng 5
2.1 Khảo sát các công cụ tự động hóa và rút trích thông tin trên web 5
2.1.1 Kapow Mashup Server 5
2.1.2 iMacros 9
2.1.3 Newbie Web Automation 13
2.1.4 Automation Anywhere 15
2.1.5 SWExplorerAutomation (SWEA) 19
2.2 Bảng so sánh chức năng các hệ thống 21
2.3 Kết luận 22
Chương 3 Các vấn đề và giải pháp cho hệ thống xây dựng và vận hành robot thu thập thông tin trên internet 23
3.1 Tạo và thực thi robot 23
3.2 Môi trường tạo hướng dẫn cho robot 24
3.3 Chọn lựa công cụ tương tác web 26
3.3.1 WebBrowser control (.NET Framework) 27
3.3.2 AxWebBrowser (ActiveX) 27
Trang 93.3.3 csEXWB (opensource) 27
3.4 Các yêu cầu đặt ra cho môi trường tạo hướng dẫn 27
3.4.1 Yêu cầu hiển thị trực quan cấu trúc trang web 28
3.4.2 Yêu cầu thay đổi context menu 29
3.4.3 Yêu cầu ghi nhận hành động của người dùng 30
3.4.4 Yêu cầu thực hiện lại những thao tác của người dùng 31
3.4.5 Yêu cầu rút trích dữ liệu 31
3.4.6 Yêu cầu lưu lại các hành động để tạo robot 31
3.5 Ghi nhận hành động của người dùng 32
3.5.1 Click 33
3.5.2 Chọn giá trị trong combobox 33
3.5.3 Gõ văn bản 33
3.5.4 Submit form 33
3.6 Thực hiện lại hành động của người dùng 33
3.6.1 Click 34
3.6.2 Chọn giá trị trong combobox 34
3.6.3 Gõ văn bản 34
3.6.4 Submit form 34
3.7 Rút trích dữ liệu 34
3.7.1 Dữ liệu text 34
3.7.2 Dữ liệu là hình ảnh 35
3.7.3 Dữ liệu là một url 35
3.8 Cách xác định HTML Element trong HTML Document 35
Trang 103.8.1 HTML Element thông thường 35
3.8.2 TableRow 36
3.9 Trang web có sử dụng FRAME hoặc IFRAME 36
3.10 Tương tác với các thành phần AJAX 37
3.11 Các hộp thoại Javascript 37
3.12 Session và cookie 38
3.12.1 Vấn đề ghi nhớ đăng nhập 38
3.12.2 Tải các dữ liệu yêu cầu đăng nhập 38
3.13 Cung cấp kết quả cho người dùng 38
Chương 4 Tổng quan toàn bộ hệ thống 40
4.1 Giới thiệu tổng quan 40
4.2 Kiến trúc hệ thống 41
4.2.1 Tầng Data 43
4.2.2 Tầng Business 44
4.2.3 Tầng Data Presentation 44
4.2.4 Tầng Application 45
4.3 Kết luận 45
Chương 5 Phân hệ WebBot Creator 46
5.1 Giới thiệu 46
5.2 Qui trình tạo WebBot 48
5.3 Kiến trúc 49
5.4 Quy trình sử dụng 50
5.5 Kết luận 55
Trang 11Chương 6 Phân hệ WebBot Online Manager 56
6.1 Giới thiệu 56
6.2 Qui trình upload WebBot 57
6.3 Qui trình gửi kết quả thực thi WebBot 58
6.4 Kiến trúc 60
6.5 Các chức năng trong phân hệ WebBot Online Manager 61
6.5.1 Các chức năng thông dụng 61
6.5.2 Các chức năng của quản trị viên 62
6.5.3 Các chức năng của người dùng thông thường 63
6.6 Kết luận 65
Chương 7 Phân hệ WebBot Watcher 66
7.1 Giới thiệu 66
7.2 Qui trình theo dõi yêu cầu thực thi WebBot 66
7.3 Qui trình thực thi WebBot 67
7.4 Kiến trúc 68
7.5 Các chức năng trong phân hệ WebBot Watcher 69
7.6 Kết luận 70
Chương 8 Phân hệ WebBot Services 71
8.1 Giới thiệu 71
8.1.1 Web service 71
8.1.2 Feed 73
8.1.3 Web clip 74
8.2 Kiến trúc 75
Trang 128.3 Kết luận 76
Chương 9 Kết luận 77
9.1 Các kết quả đạt được 77
9.2 Hướng phát triển của đề tài 78
Trang 13DANH MỤC CÁC HÌNH
Hình 2-1 Mô hình Kapow Mashup Server 6
Hình 2-2 Giao diện của phần mềm Robot Maker 6.4 7
Hình 2-3 Mô hình Web 2.0 Editon của hệ thống Kapow Mashup Server 8
Hình 2-4 Giao diện của hệ thống iMacros 9
Hình 2-5 Mô hình hệ thống iMacros 10
Hình 2-6 Giao diện của hệ thống New Web Automation 14
Hình 2-7 Mô hình hệ thống Automation Anywhere 16
Hình 2-8 Giao diện của phần mềm Web Recorder 16
Hình 2-9 Giao diện hệ thống Automation Anywhere 17
Hình 2-10 Giao diện của hệ thống SWExplorerAutomation 19
Hình 3-1 Hiển thị trực quan cấu trúc trang web 29
Hình 3-2 Context menu đã được thay đổi 30
Hình 4-1 Mô hình kiến trúc hệ thống 42
Hình 4-2 Nội dung lưu trữ tầng Data 43
Hình 4-3 Các thành phần ở tầng Business 44
Hình 4-4 Các thành phần ở tầng Data Presentation 44
Hình 4-5 Các ứng dụng chính ở tầng Application 45
Hình 5-1 Trình đơn ngữ cảnh 47
Hình 5-2 Giao diện WebBot Creator 48
Hình 5-3 Kiến trúc WebBot Creator 49
Hình 5-4 Sử dụng WebBot Creator 51
Trang 14Hình 5-5 Cửa sổ Action Diagram của WebBot Creator 52
Hình 5-6 Trình đơn ngữ cảnh của WebBot Creator 52
Hình 5-7 Rút trích chi tiết thuộc tính của element 53
Hình 5-8 Đặt tham số cho hành động của WebBot 54
Hình 5-9 Kết quả thực thi WebBot trên WebBot Creator 55
Hình 6-1 Qui trình Upload WebBot 57
Hình 6-2 Qui trình gửi kết quả thực thi WebBot 58
Hình 6-3 Mô hình kiến trúc hệ thống phân hệ WebBot Online Manager 60
Hình 6-4 Giao diện WebBot Online Manager 61
Hình 6-5 Giao diện quản lý tài khoản 62
Hình 6-6 Hộp thoại Upload WebBot 63
Hình 6-7 Giao diện quản lý WebBot 64
Hình 7-1 Qui trình theo dõi yêu cầu thực thi WebBot 66
Hình 7-2 Qui trình thực thi WebBot 67
Hình 7-3 Mô hình kiến trúc phân hệ WebBot Watcher 68
Hình 7-4 Giao diện WebBot Watcher 69
Hình 8-1 Tạo WebBot Feed bằng WebBot Creator 73
Hình 8-2 Xem Feed bằng Window Sidebar 74
Hình 8-3 Ví dụ Web clip trên vnexpress.net 75
Hình 8-4 Mô hình kiến trúc phân hệ WebBot services 76
Trang 15DANH MỤC CÁC BẢNG
Bảng 2-1 Bảng giá các gói phần mềm hệ thống iMacros 12
Bảng 2-2 Bảng giá các gói phần mềm hệ thống Newbie Web Automation 15
Bảng 2-3 Bảng giá các gói phần mềm hệ thống Automation Anywhere 18
Bảng 2-4 Bảng giá các gói phần mềm hệ thống SWExplorerAutomation 20
Bảng 2-5 Bảng so sánh các chức năng của các hệ thống phần mềm đã khảo sát 22
Bảng 4-1 Các thành phần chính của hệ thống WebBot 41
Bảng 4-2 Các thành phần ở tầng Data 43
Bảng 4-3 Các thành phần ở tầng Business 44
Bảng 4-4 Các thành phần ở tầng Data Presentation 45
Bảng 4-5 Các thành phần ở tầng Application 45
Bảng 5-1 Các thành phần của phân hệ WebBot Creator 50
Bảng 6-1 Các thành phần của phân hệ WebBot Online Manager 60
Bảng 7-1 Các thành phần của phân hệ WebBot Watcher 69
Bảng 8-1 Các API của SOAP Webservice 71
Bảng 8-2 Các tham số trong URI của REST Web service 72
Trang 16TÓM TẮT KHÓA LUẬN
Ngày nay, Internet đã trở thành một dịch vụ thông dụng và phổ biến trên thế giới.Cùng với sự phát triển của Internet, nhu cầu truy xuất thông tin qua mạng của conngười ngày càng tăng Với một khối lượng dữ liệu khổng lồ như hiện nay sẽ khiếncho người dùng vô cùng khó khăn khi muốn tìm kiếm một thông tin nào đó phục vụcho nhu cầu của mình Xuất phát từ thực tế này, nhu cầu tổng hợp và rút trích thôngtin đã trở thành một nhu cầu cấp bách và không thể thiếu được Đây cũng chính làmục tiêu trong đề tài nghiên cứu của chúng em
Nội dung đề tài tập trung vào việc nghiên cứu và phát triển hệ thống xây dựng và
vận hành tự động WebBot thu thập thông tin trên Internet để cung ứng các dịch vụ web theo yêu cầu Hệ thống này sẽ giúp cho người dùng có thể thu thập nhiều thông
tin khác nhau một cách tự động Quá trình thu thập thông tin sẽ được hệ thống ghinhận lại dưới tập tin XML được gọi là WebBot Hệ thống sẽ tự động vận hành cácWebBot theo một chu kỳ định trước để thu thập các thông tin cần thiết theo yêu cầucủa người dùng Đồng thời, hệ thống cung cấp các dịch vụ để truyền dữ liệu đầu racho người dùng tại một địa chỉ nhất định theo các định dạng theo yêu cầu của màngười dùng hoặc các hệ thống khác Dựa vào hệ thống xây dựng sẽ là một máy rúttrích tổng quát phục vụ cho nhiều nhu cầu rút trích thông tin ứng dụng trong nhiềulĩnh vực khác nhau như chứng khoán, tổng hợp tin tức, tìm kiếm bài hát, phần mềm,
…
Nội dung khóa luận bao gồm 9 chương:
Chương 1: Mở đầu
Chương 2: Khảo sát hiện trạng
Chương 3: Các vấn đề và giải pháp cho hệ thống xây dựng và vận hành robot thu
thập thông tin trên web
Chương 4: Tổng quan toàn bộ hệ thống
Trang 17Chương 5: Phân hệ WebBot Creator
Chương 6: Phân hệ WebBot Online Manager Chương 7: Phân hệ WebBot Watcher
Chương 8: Phân hệ WebBot Services
Chương 9: Kết luận và hướng phát triển hệ thống
Trang 18Chương 1
Mở đầu
Nội dung của chương này trình bày xu hướng phát triển hiện nay và nhu cầu của việc xây dựng các hệ thống rút trích và tổng hợp thông tin tự trên Internet đồng thời nêu lên mục tiêu, nội dung và ý nghĩa của đề tài.
1.1 Giới thiệu Web 2.0 và xu hướng phát triển
Cách đây vài thập kỉ Internet là một khái niệm khá xa lạ với mọi người Internetdường như chỉ dành cho những nhà nghiên cứu, những người có chút kiến thức vềtin học, là nơi trao đổi thông tin dữ liệu qua lại với nhau Thì ngày nay, người sửdụng Internet có thể là bất cứ ai, phục vụ mọi nhu cầu thiết yếu của con người từvui chơi giải trí, nghe nhạc, chơi game, mua sắm, theo dõi thông tin thời sự, thờitiết, chứng khoán, đến học tập, nghiên cứu, quảng bá sản phẩm, kinh doanh Có thểnói Internet là một một thư viện thông tin khổng lồ được cập nhật liên tục từng phúttừng giây, và phát triển với tốc độ chóng mặt Cũng chính vì sự phát triển nhanhchóng và rộng khắp của Internet, nội dung của một trang web được pha trộn rấtnhiều thông tin với nhau, ngoài thông tin chính còn có các thông tin liên quan vàcác thông tin quảng cáo Điều này gây nhiều bối rối với người muốn tìm chính xácthông tin mình cần trên Internet
Cùng với sự ra đời và phát triển của Web 2.0 trong thời gian gần đây Web 2.0 đãkhông còn làm một khái niệm khá xa lạ đối với nhiều người nó ngày càng trở nênphổ biến hơn bao giờ hết Dường như hiện nay hầu hết người sử dụng web không ai
mà không sử dụng ứng dụng của Web 2.0 Dù biết hay không nhưng họ cũng nhận
ra rằng các trang web hiện nay không chỉ đơn thuần là nguồn cung cấp thông tinđơn thuần như báo hay truyền hình mà còn có thể tương tác với chúng Nội dungcủa trang web không chỉ gói gọn trong website đó mà có thể liên kết với nhữngtrang web hoặc những ứng dụng khác
Trang 19Web 2.0 đã làm xuất hiện thêm các thuật mới như Web API, Syndication Feed,
Mashup, … Nếu như Web API mang đến khả năng cung cấp thông tin web mà
không cần phải vào trang web đó, Syndication Feed là dịch vụ cho phép cập nhật nhanh chóng nội dung tóm lược của trang web thì Mashup như một công cụ có khả
năng lấy thông tin từ nhiều nguồn dữ liệu khác nhau nhằm tạo một dịch vụ mới tổnghợp từ các nguồn dữ liệu đó
1.2 Giới thiệu về đề tài
Web 2.0 đã mở ra một thời kì mới cho công nghệ web Các trang web phát triểntheo Web 2.0 đa phần cung cấp các giao thức truyền thông SOAP hoặc REST đểtrao đổi thông tin giữa trang web với người dùng hoặc các ứng dụng khác Tuynhiên không hẳn các dịch vụ mà trang web đó cung cấp đáp ứng đúng nhu cầu củangười dùng, hơn nữa các trang Web 1.0 không có các dịch vụ này Vì thế vấn đề đặt
ra ở đây là làm thế nào ta có thể thiết kế một Robot tự động hay bán tự động để có
thể thực hiện việc rút trích các thông tin cần thiết cũng như tổng hợp thông tin trênweb thành các dịch vụ API cung cấp cho người sử dụng hoặc các hệ thống khác
1.3 Mục tiêu của đề tài
Đây là đề tài thuộc về hướng tìm hiểu công nghệ và phát triển ứng dụng Đề tàihướng vào mục tiêu là chính là hỗ trợ người dùng tạo ra các WebBot tổng hợpthông tin tự động hoặc bán tự động từ các website theo yêu cầu của người dùng
Đề tài bao gồm các phần sau:
- Khảo sát hiện trạng các hệ thống phần mềm thu thập thông tin tự động hiện đang có trên thế giới: Kapow Mashup Server, iMacros, Newbie Web Automation, Automation Anywhere, SWExplorerAutomation.
- Thông qua việc khảo sát hiện trạng của các hệ thống trên, phân tích các
vấn đề cũng như giải pháp về kỹ thuật, công nghệ khi phát triển hệ thốngxây dựng và vận hành WebBot
- Xác định các vấn đề khi phát triển hệ thống.
Trang 20- Đề ra các giải pháp kỹ thuật và công nghệ.
- Trên các cơ sở tìm hiểu và phân tích, nhóm sẽ phát triển hệ thống vận hành
các WebBot Các WebBot này sẽ vận hành để lấy về kết quả là các thôngtin mà người dùng yêu cầu và cung cấp dịch vụ trả dữ liệu về theo các yêucầu như: SOAP Web Service, REST Web Service, RSS Feed, ATOMFeed
- Trên cơ sở phát triển hệ thống này, nhóm xây dựng các ứng dụng minh họa
cho các tính năng chính của hệ thống
1.4 Nội dung của luận văn
Luận văn bao gồm 9 chương, sau đây là nội dung chính của từng chương:
Chương 1: Mở đầu
Nội dung của chương này trình bày xu hướng phát triển hiện nay và nhu cầu củaviệc xây dựng các hệ thống rút trích và tổng hợp thông tin tự trên Internet đồng thờinêu lên mục tiêu, nội dung và ý nghĩa của đề tài
Chương 2: Khảo sát hiện trạng
Nội dung của chương 2 trình bày về việc khảo sát hiện trạng của các công cụ rúttrích thông tin tự động trên Internet trên thế giới
Chương 3: Các vấn đề và giải pháp cho hệ thống xây dựng và vận hành robot thu
thập thông tin trên web
Nội dung chương này sẽ trình bày về các vấn đề cũng như giải pháp khi phát triểnhệ thống Từ đó quyết định công nghệ và nền tảng xây dựng hệ thống
Chương 4: Tổng quan toàn bộ hệ thống
Chương 4 sẽ giới thiệu tính năng của toàn bộ hệ thống đồng thời mô tả kiến trúc củatoàn hệ thống Ứng với mỗi phân hệ chính sẽ có những mô tả tổng quát
Chương 5: Phân hệ WebBot Creator
Trang 21Nội dung của chương 5 trình bày chi tiết qui trình thực hiện, kiến trúc hệ thống vàcác tính năng của phân hệ WebBot Creator cộng với các dịch vụ mà hệ thống nàycung cấp trong việc hỗ trợ tạo WebBot.
Chương 6: Phân hệ WebBot Online Manager
Nội dung của chương 6 trình bày chi tiết qui trình thực hiện, kiến trúc hệ thống vàcác tính năng của phân hệ WebBot Manager cộng với các dịch vụ mà hệ thống nàycung cấp trong việc quản lý các tài khoản người dùng, quản lý các WebBot, quátrình thực hiện upload WebBot lên hệ thống máy chủ và hiển thị nộp dung kết quảthực hiện của WebBot
Chương 7: Phân hệ WebBot Watcher
Nội dung của chương 7 trình bày chi tiết qui trình thực hiện, kiến trúc hệ thống vàcác tính năng của phân hệ WebBot Watcher cộng với các dịch vụ mà hệ thống nàycung cấp trong việc giám sát các yêu cầu thực thi của các WebBot và tự động vậnhành các WebBot này khi có yêu cầu
Chương 8: Phân hệ WebBot Services
Nội dung của chương 8 trình bày chi tiết qui trình thực hiện, kiến trúc hệ thống vàcác tính năng của phân hệ WebBot Services cộng với các dịch vụ mà hệ thống nàycung cấp trong việc định dạng các kết quả thực hiện của WebBot và cung cấp cácdịch vụ để kết xuất các kết quả này ra bên ngoài theo yêu cầu của người dùng
Chương 9: Kết luận
Nội dung của chương 9 trình bày các kết quả đạt được và hướng phát triển của đềtài
Trang 22Chương 2 Khảo sát hiện trạng
Nội dung của chương 2 trình bày về việc khảo sát hiện trạng của các công cụ rút trích thông tin tự động trên Internet trên thế giới.
2.1 Khảo sát các công cụ tự động hóa và rút trích thông tin trên web
2.1.1 Kapow Mashup Server
Trang 23Hình 2-1 Mô hình Kapow Mashup Server
Kapow Mashup Server là một phần mềm rất mạnh về việc tạo ra các Robot để rúttrích thông tin hay tương tác với các website Phần mềm được sử dụng để tạo ra cácrobot có khả năng phân tích các RSS mà các website trên Internet có hỗ trợ hay khả
năng thu thập thông tin một cách tự động ví dụ như robot thu thập nhiều links tìm được trong google, hay thu thập thông tin về các trận đấu bóng đá, thu thập các
email mới trong hộp mail yahoo, gmail, thực hiện việc gửi tin nhắn tự động cho
danh sách các thuê báo từ một hệ thống web của Mobifone hay Vinaphone… CácRobot là một loạt các hành động do người dùng thực hiện và phần mềmRobotMaker của hệ thống Kapow Mashup Server sẽ ghi nhận lại tạo thành một filekịch bản (script) được gọi là Robot
Trang 24Hình 2-2 Giao diện của phần mềm Robot Maker 6.4
Sau khi thực hiện đầy đủ các hành động cho Robot RobotMaker sẽ hỗ trợ cơ chếlưu trữ Robot này lại dưới dạng một file kịch bản (script) nhị nhân
Để Robot này có thể vận hành được thì Kapow hỗ trợ cho người dùng 2 phươngthức sau:
Nếu bạn là người dùng thử thì sau khi tạo ra robot để thực thi được nó, người sửdụng phải gửi robot này đến trang web mà công ty Kapow Technologies cung cấp
để có thể kiểm chứng và xem kết quả quá trình thực thi robot mà bạn đã tạo ra.Nếu bạn là khách hàng của Kapow Technologies, thì bạn sẽ có phần mềm để có thểthực thi robot, không cần đến service mà công ty này hỗ trợ
Sau khi đưa Robot vào vận hành tự động thì chúng ta cần phải thiết lập một sốthông số để định dạng dữ liệu đầu ra theo ý muốn
Trang 25Hình 2-3 Mô hình Web 2.0 Editon của hệ thống Kapow Mashup Server
Hệ thống Web 2.0 Edition của Kapow Mashup Server cung ứng cho người dùngnhiều định dạng dữ liệu đầu ra:
Mashup Builder: là một cơ chế định dạng và tổ chức dữ liệu từ nhiều Robot lấythông tin từ nhiều nguồn khác nhau
Java/.Net Toolkits: hỗ một số dịch cung ứng để các ứng dụng Java hay Net có thểlấy dữ liệu về được Ví dụ: hệ thống Ajax, PHP, …
Hiện nay, phần mềm RobotMaker của công ty Kapow Technologies đã được phát
triển lên đến version 6.4 và vẫn còn đang được tiếp tục phát triển để hoàn thiện các
chức năng
Về giá của hệ thống này thì tùy thuộc vào nhu cầu của doanh nghiệp mà phía Công
ty Kapow Technologies sẽ có một định mức giá khác nhau Khi muốn đang ký sửdụng hệ thống thì khách hàng phải liên lạc trực tiếp với để thương lượng giá cả và
ký kết hợp đồng
Ngôn ngữ xây dựng lên hệ thống: Java
Ưu khuyết điểm
Ưu điểm
- Hệ thống hỗ trợ nhiều cơ chế định dạng dữ liệu đầu ra
- Tính mềm dẻo trong việc thiết kế Robot.
Trang 26Khuyết điểm
- Thao tác duyệt web thực hiện qua nhiều thao tác khiến người dùng gặp
nhiều khó khăn trong việc thiết kết Robot
- Hệ thông bị hạn chế không lấy được link trong các website có chứa Frame.
Trang 27Hình 2-5 Mô hình hệ thống iMacros
Web Automation/ Web Scripting
iMacros cho phép bạn ghi và làm lại công việc có tính chất lặp đi lặp lại iMacrostương thích với bất kì và tất cả các trang web Nó hoàn tất các form và tự độngdownload và upload các chuỗi ký tự, các hình ảnh, các tập tin, các trang web Bạn
có thể import và export dữ liệu cho việc sử dụng các tập tin CSV & XML, các cơ sở
dữ liệu hoặc bất kỳ tài nguyên nào khác cho hoặc từ các ứng dụng web iMacros hỗtrợ cho việc xử lý định dạng PDF, chụp hình, giả lập lại các thao tác người dùng và
Trang 28kết nối đến proxy servers iMacros được quảng cáo là phần mềm web automationduy nhất làm việc được với mọi trang web.
iMacros Scripting Interface cho bạn chương trình điều khiển đầy đủ trên toàn webbrowser, thậm chí tác vụ phức tạp nhất cũng được script Nó có thể được sử dụngvới tất cả ngôn ngữ scripting hoặc ngôn ngữ lập trình mà không cần phải học mộtngôn ngữ mới nào cả
Data Extraction/Web Scraping/Web Mining/Enterprise Data Mash – Ups
iMacros có thể thực hiện chính xác các thao tác của việc phủ đầy form, tìm và rúttrích text (giá, mô tả sản phẩm, bảng báo giá, … ) và những hình ảnh từ trang web.iMacros hỗ trợ đầy đủ Unicode và làm việc được với mọi ngôn ngữ, bao gồm cảngôn ngữ tượng hình như Trung Quốc
Web Testing
Sử dụng iMacros cho functional, performance và regression testing của các ứngdụng web iMacros là công cụ có thể tự động hóa kiểm tra trong trình duyệt vớiInternet Explorer và Firefox Ngoài ra, nó còn là công cụ thực hiện kiểm tra trongtrình duyệt của Java, Flash, Flex hoặc Silverlight applets và tất cả AJAX elements.Lệnh STOPWATCH của iMacros cho phép bắt giữ lại thời gian đáp ứng chính xáccủa trang web trong mọi bước của một tiến trình
Tự động điền biểu mẫu và quản lý mật khẩu
iMacros loại bỏ sự lặp lại nhàm chán của việc checking những trang web như nhauhằng ngày, ghi nhớ mật khẩu, và hoàn tất các web forms iMacros là form filler duynhất có thể tự động điền thông tin vào web forms trên nhiều trang Tất cả thông tinđược lưu dạng plain-text dễ đọc hiểu và có thể sắp xếp dễ dàng Mật khẩu được lưu
an toàn với sự mã hóa an toàn 256-Bit AES
iMacros là một giải pháp lựa chọn tốt cho Enterprise Single Sign-On (SSO) Ngườidùng chỉ nhớ duy nhất một mật khẩu chủ và iMacros ghi nhớ tất cả những mật khẩucòn lại, và cảm nhận tính năng tự động đăng nhập cao cấp của Single Sign-On
Trang 29Sử dụng iMacros như một thành phần của phần mềm
Chỉ cần vài phút đã có thể thêm tự động hóa trên web cho ứng dụng thay vì phảimất vài tuần hoặc vài tháng Bạn có một kỹ thuật đã được minh chứng, đã được test
và debug trên 5 năm và được sử dụng trên 500,000 bản cài đặt
Các ứng dụng khác
Muốn hiểu rõ hơn về cách sử dụng iMacros bạn có thể xem thêm thông tin ởtrang http://forum.iopus.com
Phiên bản mới nhất :
iMacros for Firefox V6.0.5.3
iMacros for Internet Explorer V6.14
iOpus iMacros V6.14
Giá của sản phẩm:
iMacros Scripting Edition $499.00
iMacros PRO Edition $199.00
iMacros Power Surfer Edition $49.95
Bảng 2-1 Bảng giá các gói phần mềm hệ thống iMacros
Ưu khuyết điểm
Ưu điểm
- Tính mềm dẻo trong việc thiết kế Robot.
- Cho phép thiết kế các đoạn script cho các các tác vụ.
Khuyết điểm
- Không hỗ trợ Unicode.
- Không tương tác được với các hệ thống có Frame và hệ thống Ajax.
Trang 302.1.3 Newbie Web Automation
Newbie viết tắt từ Network Enabled Web Browser Interface Được thiết kế chophép người dùng thao tác trên những trang web bằng những đoạn mã tùy biến.Những đoạn Script này cho phép người dùng định hướng tự động những trang webbằng cách điền theo mẫu những trang web cho bạn, do đó bạn có thể điều khiểncách bạn sử dụng trang Web Nó cũng có thể quản lý username và password để vàonhững trang yêu cầu chứng thực người dùng một cách bình thường Tất cả thông tinngười dùng được mã hóa và lưu trữ cục bộ trên máy của bạn Chỉ admin và nhữngngười dùng đặc biệt mới có thể truy cập những thông tin này
Newbie tích hợp Script Editor và Pascal Compiler cho phép người dùng gỡ lỗi, biêndịch và thực thi những đoạn Script
Tất cả thông tin bạn cung cấp trên Newbie được mã hóa và lưu trữ cục bộ trên máycủa bạn Không có thông tin cá nhân nào được chuyển qua Internet Newbie Labs
đã thiết lập những ưu tiên để chắc chắn thông tin người dùng như username,password chỉ có người dùng được truy cập Đây là giải thuật mã hóa Blowfish vớimẫu 64-bit
Trang 31Hình 2-6 Giao diện của hệ thống New Web Automation
Một số tính năng chính của hệ thống Automation Anywhere:
Visualize technology: cho phép hiển thị trực quang các thao của người dùng trongquá trình giám sát các hành động của người dùng
Tự động đăng nhập vào nhiều tài khoản website: Bạn có thể dễ dàng truy cập tấtcả tài khoản website của bạn bằng duy nhất một username và password dùngNewbie Không cần phải ghi nhớ hay ghi xuống tất cả username và password chomỗi website riêng biệt
Thao tác trên web để rút trích dữ liệu: Rút trích những kết quả tìm kiếm tửGoogle, Amazon, Yahoo và những website chính khác Kết xuất dữ liệu ra Excel,hoặc trực tiếp đến những cơ sỡ dữ liệu như Access, SQL Server và Oracle
Truy cập Newbie trên trình duyệt ưu thích của bạn: Bạn có thể chạy Newbie WebAutomation trực tiếp trên IE và Mozilla Firefox Newbie còn có những xây dựngtrên trình duyệt web
Trang 32Tự động thực hiện tác vụ web hằng ngày: Tự động hóa những tác vụ web hằngngày của bạn như tải những báo cáo từ mạng, kiểm tra giao giao dịch và định hướngtới những website ưu thích của bạn
Tạo script để kiểm tra website: Dễ dàng tạo những đoạn Newbie Script phức tạp, cóthể thực hiện lập đi lập lại việc kiểm tra các website Điển vào form, kiểm tra cácđiều khiển web, đưa ra dữ liệu và định hướng những trang web… là một trongnhững thao tác có thể thực hiện tự động bằng Newbie
Phiên bản hiện tại là 2.7.4 Với giá của từng gói phần mềm như sau:
Newbie Automation Suite 2.0 $89.95
Newbie Web Automation (Sold Separately) $49.95
Newbie Task Manager/Designer (Sold Separately) $39.95
Bảng 2-2 Bảng giá các gói phần mềm hệ thống Newbie Web Automation
Ưu khuyết điểm
Ưu điểm
- Hệ thống hỗ trợ nhiều cơ chế thực hiện tự động hóa trên website.
- Tính mềm dẻo trong việc thiết kế Robot.
- Cho phép thiết kế các đoạn script cho các các tác vụ.
Khuyết điểm
- Không chạy được trên hệ thống có website có frame và hệ thống Ajax.
- Khó khăn trong việc rút trích dữ liệu ra.
Trang 33Hình 2-7 Mô hình hệ thống Automation Anywhere
Automation Anywhere là một hệ thống cho phép người dùng thiết lập các thao tác
tự động trên website
Hình 2-8 Giao diện của phần mềm Web Recorder
Để thực hiện thao tác duyệt web, Automation Anywhere sẽ gọi trình duyệt IE lên vàbắt đầu thực hiện giám sát quá trình thao tác của người sử dụng trên trình duyệt webqua chương trình Web Recorder Sau khi thực hiện xong quá trình duyệt web vàchọn các đề mục thông tin cần lấy dữ liệu về Automation Anywhere sẽ tiến hànhlưu chuỗi các hành động lại và chuyển vào trình xử lý
Trang 34Hình 2-9 Giao diện hệ thống Automation Anywhere
Tại đây, người dùng có thể thay đổi một số định đạng dữ đầu vào và định dạng dữliệu đầu ra
Một số tính năng chính của hệ thống Automation Anywhere:
Visualize technology: cho phép hiển thị trực quan các thao của người dùng trongquá trình giám sát các hành động của người dùng
Workflow designer: là một bộ công cụ cho phép tạo các khối công việc một cáchtrực quan hơn Giúp cho người dùng thiết kế và định dạng lại các công việc đã lưutrước đó
Remote deployment and Task to Exe: Cho phép triển khai một tác vụ đơn qua hệthống mạng đến nhiều máy khác nhau hoặc là quản lý việc triển khai nhiều tác vụthông qua trình quản lý triển khai (deployment manager)
System logs: đây là một tính năng mới lưu lại toàn bộ quá trình làm việc của hệthống đối với tất cả các môi trường tự động hóa Mọi hành động thao tác, thay đổi,
Trang 35lỗi,… trên toàn hệ thống thì đều được ghi nhận lại trên System logs Mỗi một mộttác vụ sẽ có một System logs khác nhau được lưu lại dưới dạng file csv.
Advanced web recorder: là các web controls được sử dụng để ghi nhận lại các thaotác trên trình duyệt web
Task editor: với 280 tính năng khác nhau giúp cho người dùng dễ dàng tạo ra cáctác vụ một cách mềm dẻo như: các sự kiện chuột và bàn phím, các hành động trênfile và folder, các hành động trên windows, …
Schedule task: cho phép lên lịch thực hiện các tác vụ Người dùng có thể lên lịch đểcác tác vụ có thể chạy tự động: hàng ngày, hàng tuần, hàng tháng, khi bật máy,…
Triger: là khả năng tự động truy vấn và lấy thông tin của một hay nhiều tác vụ Có
3 cơ chế hỗ trợ trigger là: window, file và folder
Variable support: là khả năng cho phép người dùng thực hiện lại các tác vụ nhiềulần với nhiều giá trị biến số đầu vào khác nhau Có 2 loại biến số đầu vào
System variable: là các định danh biến số hệ thống theo kiểu ngày tháng, bộ nhớ,…
User variable: là các định danh biến số do người dùng tự định nghĩa
Email notification: cho phép người dùng có thể thực hiện gửi mail thông báo trạngthái thực hiện của một tác vụ khi tác vụ đó thực hiện xong Nội dung của trạng tháicủa tác vụ sẽ do người dùng tự định nghĩa
Phiên bản hiện tại là 4.5.2 Với giá của từng gói phần mềm như sau:
Bảng 2-3 Bảng giá các gói phần mềm hệ thống Automation Anywhere
Ưu khuyết điểm
Ưu điểm
- Hệ thống hỗ trợ nhiều cơ chế thực hiện tự động hóa trên website.
- Tính mềm dẻo trong việc thiết kế Robot.
Trang 36- Ghi nhận được tất cả các sự kiện xảy ra đối với hệ thống.
- Có khả năng phục hồi từng tác vụ dựa vào system logs.
Khuyết điểm
- Không chạy được trên hệ thống có website có frame.
- Khi hệ thống tự động thực hiện tác vụ thì không thể tác động đến máy tính
vì hệ thống sẽ thực lại tất cả các thao tác của người dùng dựa vào các sựkiện gửi đi từ chuột, bàn phím, màn hình, …
- Còn chạy offline do mục tiêu chính của phần mềm là dùng cho lĩnh vẹc
test nên lĩnh vực sưu liệu chỉ là tính năng phụ
Trang 37Hệ thống SWEA có các tính năng sau:
Scripts all IE UI objects: SWEA tạo ra một bộ điều kiển tất cả các đối tượng IE UI,bao gồm: page functions, frames, PopUp Windows và HTTP dialogs
Object-Oriented API: SWEA tạo ra các đối tượng cho các phần tử IE UI Mô hìnhchương trình SWEA bao gồm Scene và Controls chúng tạo thành các phần tử IE UItrong lúc chạy Các controls sau đây được tạo ra cho các phần tử html:HtmlContent, HtmlInputText, HtmlInputTextArea, HtmlInputImage, HtmlInputFile,HtmlInputCheckBox, HtmlInputRadioButton, HtmlButtonHtmlInputHidden,HtmlSelect
Visual script recorder: SWDesigner cho phép địng nghĩa các scenes và các controlscho các trang ứng dụn web trong lúc thiết kế Chúng biết đổi một Internet Explorerinstance thành một Visual Editor Sử dụng chuột và bàn phím nếu có thể để chọncác controls và các đoạn văn bản để định nghĩa chúng thành các đối tượng chươngtrình
SWEA DOM Navigator: để điều khiên các tag HTML trên các website Đây là mộtphương tiện như là một thanh công cụ trên Internet Explorer SWEA DOMNavigator chỉ được kích hoạt khi Visual script recorder được kích hoạt để ghi nhậncác sự kiện trên trình duyệt web
Phiên bản hiện tại là 2.0.3.8 phát hành ngày 30 tháng 05 năm 2008 Với giá củatừng gói phần mềm như sau:
SWEA Single User License $69.00
SWEA Four User Team License $249.00
SWEA Site License $599.00
SWEA Enterprise License $999.00
Bảng 2-4 Bảng giá các gói phần mềm hệ thống SWExplorerAutomation
Ưu khuyết điểm
Ưu điểm
- Hệ thống hỗ trợ nhiều cơ chế thực hiện tự động hóa trên website.
- Tính mềm dẻo trong việc thiết kế Robot.
Khuyết điểm
- Thao tác duyệt web phải thực hiện qua nhiều bước
Trang 38Giá Thươnglượng $499.00 $89.95 $ 495.95 $ 999
Giao diện người dùng
Web Browser
Tùy biến môi trường đầu vào
Trang 39Download file và lưu
Bảng 2-5 Bảng so sánh các chức năng của các hệ thống phần mềm đã khảo sát2.3 Kết luận
Trong chương này, chúng em đã trình bày 5 công cụ hỗ trợ việc thu thập thông tin
tự động trên internet là: Kapow Mashup Server, iMacros, Newbie Web Automation,Automation Anywhere và SWExplorer Automation Thông qua quá trình khảo sát,chúng em đã lập bảng so sánh các chức năng của từng phần mềm Từ đây chúng em
có đủ cơ sở phần tích các vấn đề, đề ra các giải pháp tương ứng cũng như xây dựngnên các qui trình cần thiết cho hệ thống xây dựng và vận hành Robot thu thập thôngtin trên web sẽ được trình bày trong chương sau
Trang 40Chương 3 Các vấn đề và giải pháp cho hệ thống xây dựng và vận
hành robot thu thập thông tin trên internet
Nội dung chương này sẽ trình bày về các vấn đề cũng như giải pháp khi phát triển hệ thống Từ đó quyết định công nghệ và nền tảng xây dựng hệ thống
3.1 Tạo và thực thi robot
Vấn đề
Làm thế nào để ta có thể xây dựng được công cụ mà có khả năng tạo ra vàthực thi các robot tương tác được trên Internet Điều đó nghĩa là nó có khả năng rúttrích thông tin tự động từ một nguồn thông tin (tức là một website) có sẵn Vấn đềđược đặt ra là để tạo được một robot thì cần phải làm những công việc gì và làmnhư thế nào?
Giải pháp
Qua việc tìm hiểu “để tạo được một robot thì ta cần phải làm gì và làm nhưthế nào?” thì nhóm đã có được giải pháp cho vấn đề này Việc tạo một robot thì đòi
hỏi cần phải thực hiện 3 giai đoạn chính:
- Giai đoạn tạo robot: nghĩa là người sử dụng hướng dẫn cho robot những
hành động cần thiết mà robot phải làm trên một nguồn thông tin nào đó(tức là một website) để có thế lấy được đúng nguồn thông tin mà ngườidùng cần
- Giai đoạn thực thi robot: nghĩa là robot sẽ dựa trên những hướng dẫn (hay
script) mà người sử dụng đã tạo ra trong giai đoạn 1 để có thể thực thi việcrút trích thông tin một cách tự động
- Gia đoạn gửi kết quả: sau khi robot đã thực thi và lấy kết quả, thì phải có
cách nào đó chuyển kết quả đó đến người dùng Để chuyển kết quả phảithông qua các dịch vụ tổng quát nhằm tương thích với mọi hệ thống và cácứng dụng mà người dùng đang sử dụng