Báo cáo Đồ án thiết kế I Crawler Web pptx

29 747 11
Báo cáo Đồ án thiết kế I Crawler Web pptx

Đ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

TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI KHOA ĐIỆN TỬ - VIỄN THÔNG ************* BÁO CÁO ĐỒ ÁN THIẾT KẾ I GIÁO VIÊN HƯỚNG DẪN : Th.s Nguyễn Quang Minh ĐỀ TÀI : Chương trình Crawler Web Sinh viên thực hiện: Ngô Sơn Tùng Lớp: Điện Tử 3-K53 MSSV: 20083008 1 Lời cảm ơn Sau một thời gian học tập môn Project I, dưới sự hướng dẫn tận tình của thày Nguyễn Quang Minh,đến nay em đã hoàn thành Project I. Đề hoàn thành được đề tài lần này, em chân thành cảm ơn thày đã giảng dạy, hướng dẫn, truyền đạt những kiến thức và kinh nghiệm quý báu cho chúng em trong suốt học kì vừa qua. Em xin chúc thầy và gia đình luôn luôn mạnh khỏe và công tác tốt. Sinh viên : Ngô Sơn Tùng. Giới thiệu về đề tài Internet đã và đang phát triển một cách mạnh mẽ. Nó đã trở thành một phần không thể thiếu của mỗi một cơ quan nhà nước, công ty, trường học và thậm chí là mỗi hộ gia đình. Nguyên nhân của việc Internet ngày càng phổ biến trong cuộc sống con người như vậy là do lượng thông tin phong phú đa dạng mà ta có thể tìm thấy ở trên đó. Với Internet ta có thể ngồi một chỗ mà có thể tìm được mọi thông tin cần thiết mà ta muốn biết về bất kì một lĩnh vực nào, từ văn hóa, xa hội đến những kiến thức khoa học như toán học, vật lý…. Cùng với sự phát triển mạnh mẽ của Internet thì lượng thông tin trên đó cũng ngày càng khổng lồ. Điều đó làm cho việc thu thập dữ liệu mà ta cần thiết về một vấn đề nào đó trở nên khó khăn. Điều đó đòi hỏi cần có một cung cụ thu thập dữ liệu tự động trên Internet giúp chúng ta giải quyết vấn đề thu thập chọn lọc thông tin cần thiết trong lượng thông tin khổng lồ có trên Internet. Đề tài Project lần này của em chính là xây dựng một công cụ thu thập dữ liệu như vậy. Nó là một cung cụ thu thập dữ liệu một cách tự động trên Internet dựa vào một URL cho sẵn và tải về máy tính những dữ liệu tìm được. Chương trình của bọn em được viết bằng ngôn ngữ lập trình Java chạy trên nền Windows được gọi là Web Crawler . 4 5 Chương I :Giới thiệu về chương trình 1.Tổng quan về chương trình Chương trình mà chúng em xây dựng có tên là WebSphinx ( cá nhân tùy chỉnh Webcrawler). Chương trình được tham khảo từ trang : http://www.cs.cmu.edu/~rcm/websphinx/#download. WebSPHINX là một thư viện lớp Java và môi trường phát triển tương tác cho trình thu thập web. Một trình thu thập dữ liệu web (còn được gọi là một robot nhện) là một chương trình duyệt và xử lý các trang Web tự động. WebSPHINX bao gồm hai phần: Workbench bánh xích và các thư viện lớp WebSPHINX. 1.1. Crawler Workbench Workbench Crawler là một giao diện người dùng đồ họa cho phép bạn cấu hình và kiểm soát một trình thu thập web tùy biến. Sử dụng Workbench (bánh xích), bạn có thể: • Hình dung một bộ sưu tập của các trang web như là một đồ thị • Lưu các trang vào đĩa địa phương của bạn để duyệt offline • Nối các trang lại với nhau để xem hoặc in chúng như một tài liệu duy nhất • Trích xuất tất cả các văn bản phù hợp với một khuôn mẫu nhất định từ một tập hợp các trang. Phát triển một trình thu thập tùy chỉnh trong Java hay Javascript xử lý các trang web tuy nhiên bạn muốn. 1.2. WebSPHINX lớp thư viện WebSPHINX lớp thư viện cung cấp hỗ trợ cho trình thu thập web bằng văn bản trong Java. Các lớp thư viện cung cấp một số tính năng: • Trang web đa luồng thu hồi trong một khung ứng dụng đơn giản 6 • Một mô hình đối tượng một cách rõ ràng đại diện cho các trang và các liên kết • Hỗ trợ cho phân loại nội dung trang có thể tái sử dụng • Chịu HTML phân tích cú pháp • Hỗ trợ cho các tiêu chuẩn loại trừ robot • Mô hình kết hợp, bao gồm các biểu thức thông thường, ký tự đại diện của Unix, và các biểu thức thẻ HTML. Biểu thức thông thường được cung cấp bởi jakarta-regexp Apache thư viện biểu hiện thường xuyên. • Chuyển đổi HTML thông thường, chẳng hạn như concatenating trang, tiết kiệm các trang vào đĩa, và các liên kết đổi tên . 2.Sử dụng Websphinx Chương trình có thể làm việc ở hai chế độ đó là cơ bản và nâng cao. Chế độ cơ bản : Hình 1 : chế độ cơ bản. Chế độ nâng cao: 7 Hình 2 : Chế độ nâng cao. Vì kiến thức có hạn nên khi chúng em xây dựng chế độ làm việc phần nâng cao còn nhiều lỗi xảy ra, chưa thể khắc phục được, chương trình chưa thể chạy theo ý muốn. Tuy nhiên, với phần làm việc ở chế độ cơ bản chương trình Websphinx cũng đã phần nào đáp ứng được yêu cầu của đề tài project lần này là thu thập được những Url liên quan từ Url cho trước. Do đó, ở đây chúng em xin phép chỉ trình bày việc chạy chương trình ở chế độ cơ bản. Chương trình sẽ crawler các URLs liên quan bằng một URL cho trước. Ví dụ ở đây là http://www.dantri.com.vn. Khi crawler, chương trình có thể thu thập các dữ liệu web theo các hướng khác nhau mà ta có thể tùy chỉnh được đó là cây con, máy chủ hoặc trang web. Chương trình sẽ hiển thị kết quả thu thập dưới dạng đồ thị hoặc đường dẫn liên kết( outline) hoặc thống kê quá trình thu thập cho ta. 8 Hình 4 : Chương trình đang hoạt động. Sau khi hoàn tất việc thu thập dữ liệu ta có thể lưu giữ kết quả thu được vào máy tính. Ta có thê tùy chỉ thư mục mà ta lưu trữ kết quả thu được khi thu thập dữ liệu: 9 Hình 5: Lưu kết quả thu thập dữ liệu vào máy tính. Với nhưng thao tác cơ bản kể trên với chương trình chúng em đã thực hiện việc thu thập dữ liệu với những website khác nhau. 3.Kết quả thu được khi sử dụng chương trình Ở đây chúng em xin trình bày kết quả thu được sau khi chạy chương trình để thu thập dữ liệu từ 5 website khác nhau đó là : • http://www.dantri.com.vn • http://www.vnexpress.net • http://www.24h.com.vn • http://www.baomoi.com • http://www.bongdaso.com 10 Hình 6: Kết quả thu được Sau đây là kết quả thu được sau khi làm việc với từng trang cụ thể. 3.1. Trang “dantri” 11 [...]... : WebNode, getTip • Class WebOutline Mở rộng TreeView và bổ sung CrawlListener, LinkListener Gồm các hàm : WebOutline, add, addLinkViewListener, clear, cleared, crawled, findNode, getIcon, fireEvent, getSelectedLink, handleEvent, monitor, paused, reFilter, reRender, removeLinkViewListener, setErrorIcon, setIcon, setLinkFilter, setLinkIcon, setNodeRendering, setPageIcon, setRetrievingIcon, shouldDisplay,... hàm : LinkFeatureChoice, getArgs, getLinkPredicate, makeSingleOrDual, setLinkPredicate • Class LinkPredicateEditor Mở rộng từ Panel 21 Gồm các hàm : LinkPredicateEditor, getLinkPredicate, setLinkPredicate • Class LinkViewEvent Gồm các hàm : LinkViewEvent, getLink, getSource • Class LinkViewListener • Class MirrorAction bổ sung Action, CrawlListener Gồm các hàm : MirrorAction, cleared, connected, disconnected,... add, addLinkViewListener, clear, cleared, crawled, doubleClick, findEdge, findNode, findParent, fireEvent, getIcon, getSelectedLink, getTip, handleEvent, monitor, paused, removeLinkViewListener, setErrorIcon, setIcon, setLinkFilter, setLinkIcon, setNodeRendering, setPageIcon, setRetrievingIcon, shouldDisplay, showControlPanel, started, stopped, timedOut, update, updateClosure • Class WebNode Mở rộng... getTip • Class Script Bổ sung Action, LinkPredicate,PagePredicate Gồm các hàm : Script, connected, disconnected, equals, getScript, shouldActOn, shouldVisit, toBool, visit • Class ScriptException Mở rộng Exception 23 • Class ScriptInterpreter Gồm các hàm : apply, eval, get, getLanguage, lambda, set • Class SimpleCrawlerEditor Mở rộng CrawlerEditor Gồm các hàm : SimpleCrawlerEditor, getCrawler, setCrawler... setAction • Class ConcatOptions Mở rộng từ PopupDialog Gồm các hàm : ConcatOptions, handleEvent, writeBack • Class Browser Bổ sung LinkViewListener Gồm các hàm : Browser, show, viewLink 18 • Class ClassifierListEditor Mở rộng từ Panel Gồm các hàm : ClassifierListEditor, getCrawler, handleEvent, newClassifier, removeSelectedClassifier, scan, setCrawler • Class ConcatAction Bổ sung Action, CrawlListener... đang thực hiện v i nó, để nó có thể được khai hoang b i những ngư i thu gom rác Phương pháp này bảo tồn mảng của trang web của Liên kết i, tuy nhiên, vì vậy bạn vẫn sẽ ph i thu thập dữ liệu đồ thị nếu bạn cần nó 2 Ngắt kết n i các đồ thị thu thập dữ liệu hoàn toàn bằng cách phá vỡ các t i liệu tham khảo giữa các liên kết và các trang, vì vậy mà m i trang và liên kết đ i tượng có thể được khai hoang một... tương lai 3.1 Một số vấn đề gặp ph i khi sử dụng websphinx WebSPHINX được thiết kế cho ngư i sử dụng web tiên tiến và các lập trình Java, những ngư i muốn thu thập thông tin trên là một phần nhỏ của trang web (chẳng hạn như một trang web duy nhất) tự động WebSPHINX không được thiết kế cho rất lớn thu thập như thế Công cụ tìm kiếm thường sử dụng các trình thu thập phân ph i đang chạy trên trang tr i của... tính v i một ống mạng lư i chất béo và một hệ thống tập tin phân ph i hoặc cơ sở dữ liệu để quản lý biên gi i thu thập dữ liệu và lưu trữ dữ liệu trang WebSPHINX được dự định cho sử dụng cá nhân, để thu thập thông tin có lẽ một trăm hay một ngàn trang web Theo mặc định, WebSPHINX giữ l i tất cả các trang và các liên kết mà nó đã thu thập thông tin cho đến khi bạn rõ ràng các trình thu thập i u này... Statistics Mở rộng Panel và bổ sung CrawlListener Gồm các hàm : Statistics, clear, cleared, createOffscreenArea, drawField, drawFields, formatPagesPerSec, formatTime, handleEvent, layout, measureField, measureFields, minimumSize, monitor, paint, paused, preferredSize, run, start, started, stopped, stop, timedOut, update • Class Tipped • Class TitlePredicate bổ sung PagePredicate Gồm các hàm : TitlePredicate,... setInterval, setIterations, setNodeCharge, setNodeColor, setRestLength, setSpringConstant, setThreshold, setTipColor, showControlPanel, start, stop, update • Class HighlightAction Bổ sung Action Gồm các hàm : HighlightAction, connected, disconnected, equals, getColor, getIcon, getScale, same, visit • Class LabelPredicate Bổ sung LinkPredicate, PagePredicate Gồm các hàm : LabelPredicate, connected, disconnected, . TRƯỜNG Đ I HỌC BÁCH KHOA HÀ N I KHOA I N TỬ - VIỄN THÔNG ************* BÁO CÁO ĐỒ ÁN THIẾT KẾ I GIÁO VIÊN HƯỚNG DẪN : Th.s Nguyễn Quang Minh ĐỀ T I : Chương trình Crawler Web Sinh viên thực hiện:. sung LinkViewListener. Gồm các hàm : Browser, show, viewLink. 18 • Class ClassifierListEditor Mở rộng từ Panel. Gồm các hàm : ClassifierListEditor, getCrawler, handleEvent, newClassifier, removeSelectedClassifier,. lý các trang Web tự động. WebSPHINX bao gồm hai phần: Workbench bánh xích và các thư viện lớp WebSPHINX. 1.1. Crawler Workbench Workbench Crawler là một giao diện ngư i dùng đồ họa cho phép

Ngày đăng: 12/08/2014, 03:20

Từ khóa liên quan

Mục lục

  • 1.1. Crawler Workbench

  • 1.2. WebSPHINX lớp thư viện

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

Tài liệu liên quan