Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 60 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
60
Dung lượng
1,32 MB
Nội dung
Tìmhiểuvềtrìnhthuthậpwebvàxâydựngtrangwebtổnghợpthôngtin
2010
I
TRƯỜNG ………………….
KHOA……………………….
[\[\
Báo cáo tốt nghiệp
Đề tài:
TÌM HIỂUVỀTRÌNHTHUTHẬPWEBVÀXÂYDỰNGTRANGWEBVÀ
XÂY DỰNGTRANGTỔNGTỔNGHỢPTHÔNGTIN
Tìm hiểuvềtrìnhthuthậpwebvàxâydựngtrangwebtổnghợpthôngtin
2010
II
LỜI CẢM ƠN
Tôi xin bày tỏ lòng biết ơn sâu sắc của mình đến thầy Hoàng Xuân Huấn, thuộc
bộ môn Khoa học máy tính, khoa Công nghệ thông tin, trường Đại học Công Nghệ,
ĐHQGHN. Trong quá trình thực hiện khóa luận, thầy đã nhiệt tình giúp đỡ, giải đáp
các thắc mắc tạo động lực giúp tôi hoàn thành khóa luận tốt nghiệp này.
Tôi cũng xin được bày tỏ lời cảm ơn tới các thầy cô trong bộ môn nói riêng và
trong khoa Công nghệ thôngtin nói chung đã nhiệt tình giảng dạy
để giúp chúng tôi có
được như ngày hôm nay.
Cuối cùng là lời cảm ơn tới gia đình, bạn bè những người luôn sát cánh bên tôi
những lúc khó khăn, luôn ủng hộ giúp đỡ để tôi hoàn thành khóa luận này.
Tìm hiểuvềtrìnhthuthậpwebvàxâydựngtrangwebtổnghợpthôngtin
2010
III
TÓM TẮT NỘI DUNG
Do nhu cầu thuthậpthôngtin của con người ngày càng tăng, lượng thôngtin trên
internet ngày càng phong phú nên vấn đề tổnghợpthôngtin ngày càng trở nên bức
thiết. Với một lượng dữ liệu lớn việc thuthập bằng tay tốn rất nhiều công sức, và
không đạt hiệu quả cao, chính vì thế cần một công nghệ có thể tổnghợpthôngtin một
cách tự động vàtrìnhthuthậpweb đã ra đời.
Đề tài khóa luận đặt ra vấn đề tìmhiểu v
ề trìnhthuthậpthôngtin trên webvà
bước đầu sẽ xâydựng một ứng dụng có khả năng tổnghợpthôngtin tự động từ trang
báo điện tử lớn là trang Dân trí (http://dantri.com.vn). Ứng dụng được viết bằng ngôn
ngữ lập trình PHP tương tác với cơ sở dữ liệu mySQL và được xâydựng dựa trên các
tiêu chí: tốc độ thuthập nhanh, cơ sở dữ liệu gọn nhẹ, đảm bảo tính toàn vẹn c
ủa tài
liệu gốc.
Tìm hiểuvềtrìnhthuthậpwebvàxâydựngtrangwebtổnghợpthôngtin
2010
IV
MỤC LỤC
MỞ ĐẦU 1
CHƯƠNG 1. TÌMHIỂUVỀTRÌNHTHUTHẬPWEB 3
1.1. GIỚI THIỆU VỀTRÌNHTHUTHẬPWEB 3
1.2. CÁCH XÂYDỰNG MỘT HẠ TẦNG THUTHẬP 4
1.2.1. Frontier 6
1.2.2. Lược sử và kho lưu trữ trang 7
1.2.3. Cách lấy trang 8
1.2.3.1. Tiêu chuẩn loại trừ robot 9
1.2.4. Bóc tách trang 10
1.2.4.1. Tiêu chuẩn trích xuất URL 11
1.2.4.2. Mô hình thẻ HTML dạng cây 12
1.2.5. Trìnhthuthập đa luồng 13
1.3. CÁC CHIẾN LƯỢC THUTHẬP DỮ LIỆU 15
1.3.1. Chiến lược thuthập dữ liệu theo chiều sâu 16
1.3.2. Chiến lược thuthập dữ liệu theo chiều rộng 16
1.3.3. Chiến lược thuthập dữ liệu theo ngẫu nhiên 17
1.3.4. Chiến lược thuthập dữ liệu theo lựa chọn tốt nhất ngây thơ 17
1.4. ĐÁNH GIÁ CỦA TRÌNHTHUTHẬP 19
1.4.1. Độ quan trọng của trangweb 20
1.4.2. Phân tích tổng quát 21
1.4.2.1. Thước đo độ chính xác 22
1.4.2.2. Thước đo độ hoàn chỉnh 22
CHƯƠNG 2. XÂYDỰNG WEBSITE TỔNGHỢPTHÔNGTIN 25
2.1. CÁC KIẾN THỨC NỀN TẢNG 25
Tìm hiểuvềtrìnhthuthậpwebvàxâydựngtrangwebtổnghợpthôngtin
2010
V
2.1.1. Mạng toàn cầu 25
2.1.2. Giao thức truyền tải siêu văn bản 28
2.1.3. Ngôn ngữ đánh dấu siêu văn bản 28
2.2. CÁC CÔNG NGHỆ LIÊN QUAN 30
2.2.1. Ngôn ngữ lập trình PHP 30
2.2.1.1. Biểu thức chính quy 31
2.2.1.2. Các hàm xử lý chuỗi 34
2.2.1.2.1. Tìm kiếm chuỗi trong chuỗi 34
2.2.1.2.2. Tìm vị trí của chuỗi con 34
2.2.1.2.3. Hàm so sánh chuỗi 34
2.2.1.2.4. Kiểm tra chiều dài của chuỗi 35
2.2.2. MySQL 35
2.2.3. Một số công nghệ và tiện ích khác 37
2.2.3.1. Add-ons firebug của firefox 37
2.2.3.2. Ajax 37
2.3. PHÂN TÍCH 38
2.3.1. Cấu trúc bài viết trong trang báo điện tử 38
2.3.2. Các cách thuthập bài viết 42
2.3.2.1. Cách làm truyền thống 42
2.3.2.1.1. Các bước thực hiện 42
2.3.2.1.2. Nhận xét 44
2.3.2.2. Cách làm mới 45
2.3.2.2.1. Các bước thực hiện 45
2.3.2.2.2. Nhận xét 46
2.4. THIẾT KẾ 47
2.4.1. Cấu trúc cơ sở dữ liệu 47
Tìm hiểuvềtrìnhthuthậpwebvàxâydựngtrangwebtổnghợpthôngtin
2010
VI
2.4.1.1. Danh sách các bảng 47
2.4.1.2. Chi tiết các bảng 47
2.4.2. Phần quản trị cơ sở dữ liệu 49
2.4.3. Phần giao diện chính trangweb 50
CHƯƠNG 3: KẾT LUẬN 50
3.1. CÁC KẾT QUẢ ĐÃ ĐẠT ĐƯỢC 51
3.2. HƯỚNG PHÁT TRIỂN CỦA ĐỀ TÀI 51
TÀI LIỆU THAM KHẢO 53
Tìm hiểuvềtrìnhthuthậpwebvàxâydựngtrangwebtổnghợpthôngtin
2010
VII
BẢNG DANH MỤC CÁC HÌNH MINH HỌA
Hình 1: Một vòng thuthậpweb cơ bản 5
Hình 2: Mô hinh cây tương ứng với một mã nguồn HTML 12
Hình 3: Một mô hình trìnhthuthập đa luồng 14
Hình 4: Hình minh họa về độ hoàn chỉnh và độ chính xác 21
Hình 5: Hình mình họa thu hồi mục tiêu 23
Hình 6: So sánh giữa thuật toán breadth-first và naive best-first 24
Hình 7: World wide web 26
Hình 8. Tương tác client và server 28
Hình 9: Add-ons firebug của trình duyệt firefox 37
Hình 10: Cấu trúc phần bài viết 39
Hình 11: Cấu trúc phần chuyên mục 40
Hình 12: Cấu trúc phần trang chủ 41
Hình 13: Giao diện phần quản trị cơ sở dữ liệu 49
Hình 14: Giao diện của trangwebtổnghợpthôngtin 50
Tìm hiểuvềtrìnhthuthậpwebvàxâydựngtrangwebtổnghợpthôngtin
2010
1
MỞ ĐẦU
Ngày nay nhờ sự bùng nổ của công nghệ thông tin, lịch sử nhân loại đã bước
sang một trang mới. Những thành tựu của ngành công nghệ thôngtin là vô cùng to lớn,
nó đã chi phối và làm thay đổi mọi mặt của đời sống xã hội, làm cho cuộc sống của
con người văn minh, hiện đại hơn. Sự ra đời của internet chính là bước tiến vĩ đại của
nhân loại, là yếu tố quan trọng bậc nhấ
t chi phối cuộc sống của chúng ta ngày nay.
Nhờ có internet thế giới trở nên ‘phẳng’ hơn, ở mọi nơi trên trái đất chúng ta đều có
thể học tập vàtìm kiếm thông tin.
Theo guồng quay của cuộc sống, thế giới internet ngày càng rộng lớn và phong
phú hơn. Cứ mỗi phút trôi qua có thêm hàng triệu trangweb được sinh ra để làm giàu
cho vốn tài nguyên tri thức của nhân loại. Nhưng cũng chính vì thế mà việc chọn lọc,
tìm kiếm thôngtin lại trở nên khó khăn h
ơn. Với kho dữ liệu đồ sộ như internet, vấn
đề trích xuất vàtổnghợpthôngtin đã trở thành vấn đề thực sự cấp thiết hiện nay. Nếu
giải quyết được vấn đề này chúng ta sẽ loại bỏ được một chướng ngại lớn trên con
đường tổnghợpthôngtin của nhân loại.
Đề tài khóa luận đặt ra vấn đề tìmhiểuvềtrìnhthuthậpthôngtin trên webvà
bước đầ
u sẽ xâydựng một ứng dụng có khả năng tổnghợpthôngtin tự động từ các
trang báo điện tử lớn. Đề tài nếu thành công sẽ là bước đi không nhỏ giúp cho việc
tổng hợpthôngtin trở nên đơn giản hơn, giảm được nhiều chi phí công sức so với việc
tổng hợpthủ công, và là tiền đề để xâydựng nên một hệ thống máy tìm kiếm, giống
như google, cho ng
ười Việt Nam.
Nội dung của khóa luận sẽ tập trung vào các mục tiêu chính sau:
- Đưa ra được một cái nhìn tổng quát vềtrìnhthuthậpweb (web crawler)
- Xâydựng một ứng dụng website tổnghợpthôngtin có khả năng thuthập các
bản tin từ các trang báo lớn như Dân trí.
Để giải quyết được các mục tiêu này, khóa luận được chia thành ba chương lớn:
Chương 1: Tìmhiểuvềtrìnhthuthậpweb
Trong chương này, chúng ta sẽ lần lượt tìmhiểu các khái niệm cơ bả
n trong trình
thu thập web. Phần lớn nội dung trong chương này sẽ đi sâu vào việc tìmhiểu các
thành phần cấu thành nên một trìnhthu thập, các chiến lược thuthập dữ liệu, việc đánh
giá của trìnhthuthập đối với trang web. Qua đó chúng ta sẽ có một bức tranh chung
Tìm hiểuvềtrìnhthuthậpwebvàxâydựngtrangwebtổnghợpthôngtin
2010
2
về trìnhthuthập web, và có thể hiểu hơn về các giá trị thực tiễn mà nó mang lại trong
đời sống của con người.
Chương 2: Xâydựng ứng dụng website tổnghợpthôngtin
Phần đầu chương sẽ trình bày về các kiến thức nền tảng và các công nghệ liên
quan, ở phần tiếp theo là các đánh giá phân tích và các giải pháp nhằm nâng cao hiệu
suất của trìnhthu thập, phần cuối chương là việc hiện thực hóa ứng dụngthông qua
việc xâydựng hệ thống cơ sở dữ liệu và thiết kế giao diện website. Cũng trong phần
này tôi sẽ nêu ra hai cách thuthậpthông tin. Một là cách làm phổ biến hiện nay tôi gọi
là cách làm truyền thống, một là cách làm mới tôi tìm ra. Cách làm mới này tối ưu hơn
và có thể giải quyết được các hạn chế trong cách làm truyền thống.
Chương 3: Kết luận
Phần kết luận cũng là phần cuối của khóa luận sẽ
nhìn lại những điều đã làm
được trong khóa luận này, nêu lên những vấn đề còn vướng mắc, từ đó đề ra hướng
phát triển tiếp theo cho đề tài.
Tìm hiểuvềtrìnhthuthậpwebvàxâydựngtrangwebtổnghợpthôngtin
2010
3
CHƯƠNG 1. TÌMHIỂUVỀTRÌNHTHUTHẬPWEB
1.1. GIỚI THIỆU VỀTRÌNHTHUTHẬPWEB
Trình thuthậpweb (Web crawler) là một chương trình khai thác cấu trúc đồ thị
của web di chuyển từ trang này qua trang khác. Thời kỳ đầu nó có những tên khá
tượng hình như bọ web, rô-bốt, nhện và sâu, nhưng ngày nay tên gọi phổ biến nhất là
vẫn là trìnhthuthậpweb [1]. Mặc dù vậy cụm từ ‘thu thập’ không lột tả được hết tốc
độ của những chương trình này, vì chúng có tốc độ làm việc đáng kinh ngạc, có th
ể thu
thập dữ liệu lên đến hàng chục ngàn trang trong vòng một vài phút.
Từ thời kỳ đầu, một động lực quan trọng thúc đẩy quá trình phát triển của việc
thiết kế trìnhthuthậpweb là lấy được nội dung các trangwebvà thêm chúng hoặc
đường dẫn của chúng vào một kho lưu trữ trang – một kiểu kho lưu trữ có thể dùng để
phục vụ cho các ứng dụng cụ thể trong công cụ tìm kiếm web (search engine).
Các trìnhthuthập thường b
ắt đầu bằng cách chọn một số các đường dẫn (URL)
ứng với các trangweb sẽ ghé thăm đầu tiên, các trang này được gọi là các trang hạt
giống. Khi ghé thăm một trang hạt giống, trìnhthuthập sẽ đọc nội dungtrang web, lọc
ra tất cả các siêu liên kết (hyperlink) có trong trangweb đó và đưa các URL tương ứng
với chúng vào một danh sách gọi là biên giới (frontier). Dựa vào danh sách này, trình
thu thập tiếp tục quá trình duyệt đệ quy để ghé thăm tất cả các URL chưa đượ
c duyệt.
Quá trình này chỉ dừng lại khi trìnhthuthập đã thuthập đủ số trang yêu cầu hoặc
frontier là rỗng, tức là không còn URL để duyệt. Tuy mô tả này có vẻ đơn giản nhưng
đằng sau chúng là khá nhiều vấn đề hóc búa liên quan đến kết nối mạng, bẫy nhện, tiêu
chuẩn trích xuất URL, chuẩn hóa các trang HTML, bóc tách nội dungtrang HTML
vv Ở phần sau của khóa luận tôi sẽ lần lượt trình bày đến các vấn đề này và hướng
giải quyết củ
a chúng.
Sau khi đã có được một danh sách các URL dùng cho việc thu thập, ta sẽ thực
hiện quá trình lấy trang. Tất cả các trang được lấy một lần và được lưu vào một kho
lưu trữ giống như cơ sở dữ liệu của công cụ tìm kiếm, đến đây không cần thuthập
thêm. Tuy nhiên web là một thực thể năng động với các không gian con liên tục phát
triển và thay đổi nhanh một cách chóng mặt, vì thế thôngtin phải liên tục đượ
c thu
thập để giúp các ứng dụng luôn cập nhật, ví dụ như bổ sung các trang mới loại bỏ các
trang đã bị xóa, di chuyển hoặc cập nhật các trang bị sửa đổi.
[...]... dụngtrìnhthuthậpweb để xâydựng các phần mềm tập trung thông tin, các trang web tổnghợpthông tin, dựa trên cơ chế tự động tìmvà phát hiện tài nguyên 1.2 CÁCH XÂYDỰNG MỘT HẠ TẦNG THUTHẬP Hình 1 cho ta thấy một chu trình của một trìnhthuthậpweb cơ bản [1] 4 Tìmhiểuvềtrìnhthuthậpwebvàxâydựngtrangwebtổnghợpthôngtin 2010 Hình 1 : Một vòng thuthậpweb cơ bản Trìnhthuthập chứa một... 10000 trang đã thuthập bởi mỗi trìnhthuthập trên mỗi chủ đề (vì thế việc đánh giá liên quan đến hàng triệu trang) 23 Tìmhiểuvềtrìnhthuthậpwebvàxâydựngtrang web tổnghợpthôngtin 2010 Hình 6: So sánh giữa thu t toán breadth-first và naive best-first: (a) Theo độ chính xác trung bình (b) Theo độ thu hồi mục tiêu trung bình 24 Tìmhiểuvềtrìnhthuthậpwebvàxâydựngtrangwebtổnghợp thông. .. giống và mục tiêu Trìnhthuthập bắt đầu từ các trang hạt giống vàthu hồi các trang mục tiêu Việc thu hồi mục tiêu được tính như sau: 22 Tìmhiểuvềtrìnhthuthậpwebvàxâydựngtrang web tổnghợpthôngtin 2010 Trong đó Pt là tập các trang mục tiêu , Pc là tập các trang được thuthập Lưu ý rằng giả định ban đầu là các mục tiêu là tập hợp ngẫu nhiên của các trang liên quan Hình 5: Hình mình họa thu. .. đổi khi chương trình tương ứng thực thi Có thể coi các trangweb tích cực là các trangweb động về nội dung Sau đây là bảng so sánh các loại world wide web: 26 Tìmhiểuvềtrìnhthuthậpwebvàxâydựngtrang web tổnghợpthôngtin 2010 Loại web Ưu điểm Nhược điểm Trangweb tĩnh Tính đơn giản, tiện dụngvàtin cậy Sau khi được tạo ra trangweb tĩnh có một định dạng cố định và bất biến Trình duyệt có... quá trình tương tác Hoạt động truy tìm theo các siêu liên kết thường được gọi là duyệt web Quá trình này cho phép người dùng có thể lướt các trangweb để lấy thôngtin Tuy nhiên độ chính xác và chứng thực của thôngtin không được đảm bảo 25 Tìmhiểuvềtrìnhthuthậpwebvàxâydựngtrangwebtổnghợpthôngtin 2010 Hình 7: World wide web World wide web có thể được phân loại thành ba loại: các trang web. . .Tìm hiểuvềtrìnhthuthậpwebvàxâydựngtrangwebtổnghợpthôngtin 2010 Các trangweb chủ yếu được viết bằng các ngôn ngữ đánh dấu như HTML, XHTML và được nhắm đến đối tượng sử dụng là con người chứ không phải máy tính Các trangweb lại chứa đựng nhiều thôngtin có ích mà con người có thể muốn thuthậpvà lưu trữ lại, chính vì thế mà cần phải có những kỹ thu t bóc tách và trích xuất thông tin. .. trìnhthuthập theo chiều rộng sẽ làm việc theo cơ chế sau : sau khi đưa một URL ra khỏi frontier để tiến hành quá trìnhthu 6 Tìmhiểuvềtrìnhthuthậpwebvàxâydựngtrangwebtổnghợpthôngtin 2010 thậptrang tương ứng thay vì việc lấy tất cả URL trong trang này trìnhthuthập sẽ chỉ lấy URL chưa thăm đầu tiên và thêm vào frontier Frontier có thể coi như một hàng đợi ưu tiên trong trường hợp chúng... frontier bị chia sẻ bởi nhiều vòng thuthập Chú ý rằng một trìnhthuthậpthông thường sẽ duy trì một cấu trúc dữ liệu lược sử phục vụ cho việc tra cứu nhanh các URL đã 14 Tìmhiểuvềtrìnhthuthậpwebvàxâydựngtrangwebtổnghợpthôngtin 2010 được thuthập Do đó ngoài các frontier thì việc đồng bộ hóa các truy cập vào lược sử là điều cần thiết Các mô hình trìnhthuthập đa luồng cũng cần phải đối... chương trình khác Mỗi vòng lặp là một quá trình gồm các bước : - Lấy một URL tiếp theo từ frontier ra để thuthập Lấy trang tương ứng với URL thông qua HTTP Bóc tách trang vừa lấy để trích xuất ra các URL và các nội dungthôngtin cụ thể Cuối cùng là thêm các URL chưa thăm vào frontier 5 Tìmhiểuvềtrìnhthuthậpwebvàxâydựngtrangwebtổnghợpthôngtin 2010 Trước khi các URL được thêm vào frontier... Các trang tương ứng với các URL hạt giống thường là đơn vị đo cho độ liên quan của các trang đã thuthập Các trang hạt giống được liên kết với lại thành một tài liệu duy nhất Độ quan trọng của một trangweb được thuthập được đánh giá bằng độ tương đồng cosin của nó và bộ tài liệu này 20 Tìmhiểuvềtrìnhthuthậpwebvàxâydựngtrang web tổnghợpthôngtin 2010 + Tính phổ biến của liên kết : Một trình .
TÌM HIỂU VỀ TRÌNH THU THẬP WEB VÀ XÂY DỰNG TRANG WEB VÀ
XÂY DỰNG TRANG TỔNG TỔNG HỢP THÔNG TIN
Tìm hiểu về trình thu thập web và.
Tìm hiểu về trình thu thập web và xây dựng trang web tổng hợp thông tin
2010
3
CHƯƠNG 1. TÌM HIỂU VỀ TRÌNH THU THẬP WEB
1.1. GIỚI THIỆU VỀ TRÌNH