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ânch ........................................................................................................................ 4
4.1 Quá trình thu thập dữ liệu tổng quát ........................................................................ 4
4.2 Phân loi các trang Web dựa vào cách thức chuyển trang ....................................... 7
4.3 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 trạng thái của Bot ............................................................................... 15
5.3.2.2 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 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 ca file cấu hình XML ..................................................... 30
6.3.2 Chi tiết các thành phn (element) .................................................................. 30
6.4 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 Cu 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 ca 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 thp dữ liệu tổng quát
Xem xét 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 bnày có thđược chia làm nhiều mục lớn (category) về các lĩnh
vc lớn, trong mỗi category lại phân ra làm nhiều phân mục nh(sub-category) vcác lĩnh
vc nh, trong mỗi sub category lại phân ra làm nhiều pn mc nhỏ hơn nữa, cứ thế cho đến
phân mc nhỏ nhất, phân mục nhỏ nhất sẽ chứa danh 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 các
trang cấp thấp nhất, nội dung của trang này schứa các thông tin ngưi sử dụng website
quanm như: tên doanh nghiệp, tả về doanh nghip, đa chỉ liên lạc, số điện thoại, địa chỉ
email v.v Mô hình trang web kiểu y được gọi là mô hình Master Detail [1], trong
trường hp 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 trang detail ca trang cấp N, và cấp N+1 được gi là thấp hơn cấp N. u ý rằng
mỗi cấp thsẽ sự phân trang (pagination danh sách các category thuộc cùng 1 cp sẽ
không chnm trong 1 trang thnằm trong nhiu trang). Ta gọi những trang hiển th
danh sách các category ln nhất là những trang cấp 1, từ mt trong những trang cấp 1 nếu ta
chn 1 category nào đó thì sdẫn đến một trang hin thị các sub-category thuc category đã
chn, 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. Mt trang web danh bạ
Giả sử một tình hung như sau: một người sử dụng tên là John muốn thu thập các thông
tin vcá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 tquảng cáo. Nếu như John không một công cụ hỗ trợ nào thì
anh ta sphải thực hiện ng việc thu thập thông tin này một cách th công. Trình tcông
vic John phải làm có thể sẽ như sau:
1. Ttrang chủ website, John lần t click vào c liên kết phân mục đvào đưc
phân mc của lĩnh vc kinh doanh mong muốn.
2. Sau khi đã o được phân mục của lĩnh vực John mong muốn, John sẽ thy danh
sách các doanh nghiệp thuộc lĩnh vực 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 (mt trang cấp N, cấp thấp nhất), John chọn nhng
thông tin anh ta mong mun (dạng ch) copy các thông tin đó, lưu vào đâu
đó mà John muốn, có thể là mt tài liệu Microsoft Excel.