tìm hiểu về web crawler và xây dựng website tổng hợp thông tin

61 1.4K 3
tìm hiểu về web crawler và xây dựng website tổng hợp thông tin

Đ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

tìm hiểu về web crawler và xây dựng website tổng hợp thông tin

Tìm hiểu về web crawler xây dựng website tổng hợp thông tin 2010 I ĐẠI HỌC QUỐC GIA HÀ NỘI TRƯỜNG ĐẠI HỌC CÔNG NGHỆ Nguyễn Minh Phúc TÌM HIỂU VỀ WEB CRAWLER XÂY DỰNG WEBSITE TỔNG HỢP THÔNG TIN KHOÁ LUẬN TỐT NGHIỆP ĐẠI HỌC HỆ CHÍNH QUY Ngành: Công nghệ thông tin HÀ NỘI - 2010 Tìm hiểu về web crawler xây dựng website tổng hợp thông tin 2010 II HÀ NỘI - 20< hai số cuối của năm bảo vệ KLTN> (chữ hoa, 12pt, đậm, căn giữa) 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 trong khoa Công nghệ thông tin 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ểu về web crawler xây dựng website tổng hợp thông tin 2010 III TÓM TẮT NỘI DUNG Do nhu cầu thu thập thông tin của con người ngày càng tăng, lượng thông tin trên internet ngày càng phong phú nên vấn đề tổng hợp thông tin ngày càng trở nên bức thiết. Với một lượng dữ liệu lớn việc thu thập bằng tay tốn rất nhiều công sức, không đạt hiệu quả cao, chính vì thế cần một công nghệ có thể tổng hợp thông tin một cách tự động trình thu thập web đã ra đời. Đề tài khóa luận đặt ra vấn đề tìm hiểu về trình thu thập thông tin trên web bước đầu sẽ xây dựng một ứng dụng có khả năng tổng hợp thông tin 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 được xây dựng dựa trên các tiêu chí: tốc độ thu thậ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ểu về web crawler xây dựng website tổng hợp thông tin 2010 IV MỤC LỤC MỞ ĐẦU 1 CHƯƠNG 1. TÌM HIỂU VỀ TRÌNH THU THẬP WEB 3 1.1. GIỚI THIỆU VỀ TRÌNH THU THẬP WEB 3 1.2. CÁCH XÂY DỰNG MỘT HẠ TẦNG THU THẬP 4 1.2.1. Frontier 6 1.2.2. Lược sử 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ình thu thập đa luồng 13 1.3. CÁC CHIẾN LƯỢC THU THẬP DỮ LIỆU 15 1.3.1. Chiến lược thu thập dữ liệu theo chiều sâu 16 1.3.2. Chiến lược thu thập dữ liệu theo chiều rộng 16 1.3.3. Chiến lược thu thập dữ liệu theo ngẫu nhiên 17 1.3.4. Chiến lược thu thập dữ liệu theo lựa chọn tốt nhất ngây thơ. 17 1.4. ĐÁNH GIÁ CỦA TRÌNH THU THẬP 19 1.4.1. Độ quan trọng của trang web 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 Tìm hiểu về web crawler xây dựng website tổng hợp thông tin 2010 V CHƯƠNG 2. XÂY DỰNG WEBSITE TỔNG HỢP THÔNG TIN 25 2.1. CÁC KIẾN THỨC NỀN TẢNG 25 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ệ 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 thu thậ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 Tìm hiểu về web crawler xây dựng website tổng hợp thông tin 2010 VI 2.4. THIẾT KẾ 47 2.4.1. Cấu trúc cơ sở dữ liệu 47 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 trang web 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ểu về web crawler xây dựng website tổng hợp thông tin 2010 VII BẢNG DANH MỤC CÁC HÌNH MINH HỌA Hình 1: Một vòng thu thập web 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ình thu thập đa luồng 14 Hình 4: Hình minh họa về độ hoàn chỉnh độ 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 naive best-first 24 Hình 7: World wide web 26 Hình 8. Tương tác client 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 trang web tổng hợp thông tin 50 Tìm hiểu về web crawler xây dựng website tổng hợp thông tin 2010 VIII Tìm hiểu về web crawler xây dựng website tổng hợp thông tin 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ông tin là vô cùng to lớn, nó đã chi phối 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 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 phong phú hơn. Cứ mỗi phút trôi qua có thêm hàng triệu trang web đượ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ông tin 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 tổng hợp thông tin đã 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ổng hợp thông tin của nhân loại. Đề tài khóa luận đặt ra vấn đề tìm hiểu về trình thu thập thông tin trên web bước đầu sẽ xây dựng một ứng dụng có khả năng tổng hợp thông tin 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ợp thông tin 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ợp thủ công, là tiền đề để xây dự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ình thu thập web (web crawler) - Xây dựng một ứng dụng website tổng hợp thông tin có khả năng thu thậ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ìm hiểu về trình thu thập web Trong chương này, chúng ta sẽ lần lượt tìm hiể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ìm hiểu các thành phần cấu thành nên một trình thu thập, các chiến lược thu thập dữ liệu, việc đánh giá của trình thu thập đối với trang web. Qua đó chúng ta sẽ có một bức tranh chung Tìm hiểu về web crawler xây dựng website tổng hợp thông tin 2010 2 về trình thu thập web, 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ây dựng ứng dụng website tổng hợp thông tin Phần đầu chương sẽ trình bày về các kiến thức nền tảng các công nghệ liên quan, ở phần tiếp theo là các đánh giá phân tích các giải pháp nhằm nâng cao hiệu suất của trình thu thập, phần cuối chương là việc hiện thực hóa ứng dụng thông qua việc xây dựng hệ thống cơ sở dữ liệu thiết kế giao diện website. Cũng trong phần này tôi sẽ nêu ra hai cách thu thập thô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. [...]... 23 Tìm hiểu về web crawler xây dựng website tổng hợp thông tin 2010 Hình 6: So sánh giữa thuật toán breadth-first 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ìm hiểu về web crawler xây dựng website tổng hợp thông tin 2010 Chương 2 XÂY DỰNG WEBSITE TỔNG HỢP THÔNG TIN Trong chương này chúng ta sẽ từng bước hiện thực hóa việc xây dựng website tổng. .. nhiên độ chính xác chứng thực của thông tin không được đảm bảo 25 Tìm hiểu về web crawler xây dựng website tổng hợp thông tin 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ĩnh, các trang web động các trang web tích cực [4] - Trang web tĩnh: Một trang web tĩnh là một file HTML cụ thể nằm trên web server - Trang web động : Một trang web động không.. .Tìm hiểu về web crawler xây dựng website tổng hợp thông tin 2010 CHƯƠNG 1 TÌM HIỂU VỀ TRÌNH THU THẬP WEB 1.1 GIỚI THIỆU VỀ TRÌNH THU THẬP WEB Trình thu thập web (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 sâu, nhưng ngày nay tên gọi phổ... Do vậy nội dung trang web tích cực không bất biến mà thay đổi khi chương trình tương ứng thực thi Có thể coi các trang web tích cực là các trang web động về nội dung Sau đây là bảng so sánh các loại world wide web: 26 Tìm hiểu về web crawler xây dựng website tổng hợp thông tin 2010 Loại web Trang web tĩnh Ưu điểm Nhược điểm Tính đơn giản, tiện dụng Thiếu tính linh hoạt Khi tin cậy Sau khi được... để thu thậ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 các nội dung thông tin cụ thể Cuối cùng là thêm các URL chưa thăm vào frontier 5 Tìm hiểu về web crawler xây dựng website tổng hợp thông tin 2010 Trước khi các URL được thêm vào frontier chúng có thể được đánh chỉ mục dựa trên số lượng truy cập vào trang web ứng với URL Quá trình thu thập sẽ chấm... cách 19 Tìm hiểu về web crawler xây dựng website tổng hợp thông tin 2010 lọt vào danh sách các trang tuyển chọn của trình thu thập, qua đó họ có thể giới thiệu sản phẩm của họ đến người dùng Ngược lại, trong đa số các trường hợp, người dùng không muốn tìm các quảng cáo tiếp thị mà chỉ muốn tìm thông tin mà họ quan tâm 1.4.1 Độ quan trọng của trang web Độ quan trọng của trang web có thể được đánh... bất kỳ sự can thiệp nào từ phía người dùng Nhược điểm chính của web tích cực là chi phí xây dựng khả năng an ninh hệ thống Vì phải tải sau đó thực thi một chương trình từ server, nên phải có khả năng đảm bảo chương trình này không làm gì có hại trên máy khách (client) 27 Tìm hiểu về web crawler xây dựng website tổng hợp thông tin 2010 2.1.2 Giao thức truyền tải siêu văn bản Giao thức truyền... Độ quan trọng của một trang web được thu thập được đánh giá bằng độ tương đồng cosin của nó bộ tài liệu này 20 Tìm hiểu về web crawler xây dựng website tổng hợp thông tin 2010 + Tính phổ biến của liên kết : Một trình thu thập có thể sử dụng kết quả xếp hạng các liên kết của các trang như alecxa, Google Page Rank để đưa ra đánh giá về độ quan trọng của trang Các trang web phân hạng có thể xếp hạng... thay đổi nhanh một cách chóng mặt, vì thế thông tin 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 3 Tìm hiểu về web crawler xây dựng website tổng hợp thông tin 2010 Các trang web chủ yếu được viết bằng các ngôn ngữ đánh dấu như HTML, XHTML được nhắm đến đối tượng sử dụng là... lại 7 Tìm hiểu về web crawler xây dựng website tổng hợp thông tin 2010 tránh thêm việc thu thập lại các trang này Do kích thước của frontier có hạn bộ nhớ của máy tính hiện nay là vô cùng lớn nên việc duy trì một lược sử cần thiết nhằm nâng cao hiệu quả hoạt động của trình thu thập Một điều cần chú ý là phải chuẩn hóa URL trước khi đưa vào lược sử Khi một trang được lấy nó phải được lưu trữ . trang web tổng hợp thông tin 50 Tìm hiểu về web crawler và xây dựng website tổng hợp thông tin 2010 VIII Tìm hiểu về web crawler và xây. bức tranh chung Tìm hiểu về web crawler và xây dựng website tổng hợp thông tin 2010 2 về trình thu thập web, và có thể hiểu hơn về các giá trị thực

Ngày đăng: 17/02/2014, 23:13

Hình ảnh liên quan

Hình 1: Một vịng thu thập web cơ bản - tìm hiểu về web crawler và xây dựng website tổng hợp thông tin

Hình 1.

Một vịng thu thập web cơ bản Xem tại trang 13 của tài liệu.
- Cấu hình server sao cho các trang không chứa đường dẫn đến thư mục này. Đáng buồn trên thực tế cách này không đạt được kết quả mong đợi do một trong  các nguyên nhân sau :  - tìm hiểu về web crawler và xây dựng website tổng hợp thông tin

u.

hình server sao cho các trang không chứa đường dẫn đến thư mục này. Đáng buồn trên thực tế cách này không đạt được kết quả mong đợi do một trong các nguyên nhân sau : Xem tại trang 18 của tài liệu.
1.2.4.2. Mơ hình thẻ HTML dạng cây - tìm hiểu về web crawler và xây dựng website tổng hợp thông tin

1.2.4.2..

Mơ hình thẻ HTML dạng cây Xem tại trang 20 của tài liệu.
Hình 3: Một mơ hình trình thu thập đa luồng - tìm hiểu về web crawler và xây dựng website tổng hợp thông tin

Hình 3.

Một mơ hình trình thu thập đa luồng Xem tại trang 22 của tài liệu.
Hình 4: Hình minh họa về độ hồn chỉnh và độ chính xác - tìm hiểu về web crawler và xây dựng website tổng hợp thông tin

Hình 4.

Hình minh họa về độ hồn chỉnh và độ chính xác Xem tại trang 29 của tài liệu.
Hình 5: Hình mình họa thu hồi mục tiêu - tìm hiểu về web crawler và xây dựng website tổng hợp thông tin

Hình 5.

Hình mình họa thu hồi mục tiêu Xem tại trang 31 của tài liệu.
Hình 6 là một ví dụ về biểu đồ hiệu suất cho hai trình thu thập khác nhau. Hiệu suất  của  trình  thu  thập  được  mô  tả  như  là  một  quỹ  đạo  theo  thời  gian  (được  xấp  xỉ  bằng số lượng các trang đã thu thập ) - tìm hiểu về web crawler và xây dựng website tổng hợp thông tin

Hình 6.

là một ví dụ về biểu đồ hiệu suất cho hai trình thu thập khác nhau. Hiệu suất của trình thu thập được mô tả như là một quỹ đạo theo thời gian (được xấp xỉ bằng số lượng các trang đã thu thập ) Xem tại trang 31 của tài liệu.
Hình 6: So sánh giữa thuật tốn breadth-first và naive best-first: (a) Theo độ - tìm hiểu về web crawler và xây dựng website tổng hợp thông tin

Hình 6.

So sánh giữa thuật tốn breadth-first và naive best-first: (a) Theo độ Xem tại trang 32 của tài liệu.
Hình 7: World wide web - tìm hiểu về web crawler và xây dựng website tổng hợp thông tin

Hình 7.

World wide web Xem tại trang 34 của tài liệu.
Hình 8. Tương tác client và server - tìm hiểu về web crawler và xây dựng website tổng hợp thông tin

Hình 8..

Tương tác client và server Xem tại trang 36 của tài liệu.
Hình 9: Add-ons firebug của trình duyệt firefox 2.2.3.2. Ajax  - tìm hiểu về web crawler và xây dựng website tổng hợp thông tin

Hình 9.

Add-ons firebug của trình duyệt firefox 2.2.3.2. Ajax Xem tại trang 45 của tài liệu.
Hình 10: Cấu trúc phần bài viết - tìm hiểu về web crawler và xây dựng website tổng hợp thông tin

Hình 10.

Cấu trúc phần bài viết Xem tại trang 47 của tài liệu.
Hình 11: Cấu trúc phần chuyên mục - tìm hiểu về web crawler và xây dựng website tổng hợp thông tin

Hình 11.

Cấu trúc phần chuyên mục Xem tại trang 48 của tài liệu.
Hình 12: Cấu trúc phần trang chủ - tìm hiểu về web crawler và xây dựng website tổng hợp thông tin

Hình 12.

Cấu trúc phần trang chủ Xem tại trang 49 của tài liệu.
1 category Bảng các category - tìm hiểu về web crawler và xây dựng website tổng hợp thông tin

1.

category Bảng các category Xem tại trang 55 của tài liệu.
3 cate_code varchar 11 Quan hệ với bảng news - tìm hiểu về web crawler và xây dựng website tổng hợp thông tin

3.

cate_code varchar 11 Quan hệ với bảng news Xem tại trang 56 của tài liệu.
+ news_id: Số thự tự của bài viết trong bảng news, tự động tăng dần + news_title: Tiêu đề của bài viết  - tìm hiểu về web crawler và xây dựng website tổng hợp thông tin

news.

_id: Số thự tự của bài viết trong bảng news, tự động tăng dần + news_title: Tiêu đề của bài viết Xem tại trang 57 của tài liệu.
Hình 13: Giao diện phần quản trị cơ sở dữ liệu - tìm hiểu về web crawler và xây dựng website tổng hợp thông tin

Hình 13.

Giao diện phần quản trị cơ sở dữ liệu Xem tại trang 57 của tài liệu.
Hình dưới đây mơ tả giao diện chính của trang web tổng hợp thông tin: - tìm hiểu về web crawler và xây dựng website tổng hợp thông tin

Hình d.

ưới đây mơ tả giao diện chính của trang web tổng hợp thông tin: Xem tại trang 58 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