Luận Văn Tốt Nghiệp

Download Report

Transcript Luận Văn Tốt Nghiệp

Xây dựng ứng dụng
thu thập dữ liệu tự động
từ các Website
HỘI ĐỒNG 2 - HỆ THỐNG THÔNG TIN
Chủ tịch:
GVPB:
GVHD:
TS. Võ Thị Ngọc Châu
ThS. Nguyễn Văn Đoàn
ThS. Đặng Trần Trí
---ooo--SVTH 1: Nguyễn Trung Kiên - 50501352
SVTH 2: Lê Quang Minh - 50501668
1
Mục lục
1. Giới thiệu đề tài
2. Phân tích và thiết kế
3. Hiện thực ứng dụng
4. Tổng kết
5. Demo
2
1. Giới thiệu đề tài
• Đặt vấn đề
• Yêu cầu
– Tìm hiểu về các kỹ thuật thu thập dữ liệu tự động từ
các website
– Hiện thực một giải pháp cụ thể để thu thập chúng
• Mục tiêu
– Xây dựng được một ứng dụng thu thập dữ liệu tự
động
– Ứng dụng phải có khả năng mở rộng, tùy biến để có
thể sử dụng với nhiều website khác nhau
3
2. Phân tích và thiết kế
• Web Crawler
4
2. Phân tích và thiết kế
• Web
Scraper
 Ứng dụng cần xây dựng chính là một Web Scraper
Extract
Web crawling
5
2. Phân tích và thiết kế
• Hướng tiếp cận
– Tùy biến được (cần sự can thiệp của người
sử dụng)
– Giải quyết được các mô hình website cụ thể
• Các vấn đề cần giải quyết
– Lấy nội dung các trang web
– Trích xuất dữ liệu từ nội dung có được
– Đặc tả các thông tin đầu vào
6
2. Phân tích và thiết kế
• Phân loại các trang web theo cách thức
chuyển trang
– Loại I
• Sử dụng HTTP GET, POST thông thường
• Các mã client-side không ảnh hưởng đến việc lấy nội dung
trang mới cũng như chính nội dung này
– Loại II
• Không thể lấy được nội dung trang mới chỉ bằng HTTP GET,
POST thông thường
• Các mã client-side có ảnh hưởng đến việc lấy nội dung trang
mới hoặc đến chính nội dung này
7
2. Phân tích và thiết kế
• Thiết kế: hai module chính
– Crawler
• Lấy nội dung các trang web
– Extractor
• Trích xuất dữ liệu từ nội dung lấy được
– Dữ liệu người dùng muốn thu thập
– Dữ liệu cần thiết cho việc lấy nội dung web page tiếp
theo (chuyển trang)
8
2. Phân tích và thiết kế
• Kiến trúc
9
2. Phân tích và thiết kế
10
2. Phân tích và thiết kế
• Sơ đồ hoạt động tổng quát
11
Mục lục
1. Giới thiệu đề tài
2. Phân tích và thiết kế
3. Hiện thực ứng dụng
4. Tổng kết
5. Demo
3. Hiện thực ứng dụng
• Tính năng của ứng dụng
– Giải quyết được các trang sử dụng kỹ thuật
chuyển trang thuộc loại I và II
– Các tính năng mở rộng:
•
•
•
•
Session, Cookie
HTTP Authentication, Form Authentication
Proxy, sleep
Xử lý bổ sung trên dữ liệu sau khi trích xuất được
13
3. Hiện thực ứng dụng
• Mô hình ứng dụng
• Server
– HĐH: Microsoft Windows
– Ngôn ngữ lập trình: PHP, Java
– Môi trường thực thi:
• AMP (Apache-MySQL-PHP)
• JRE (Java Runtime Environment)
• Client
– Chỉ cần có trình duyệt
14
• Cấu trúc cơ sở dữ liệu
15
16
3. Hiện thực ứng dụng
• Crawler
17
3. Hiện thực ứng dụng
• Extractor
18
4. Tổng kết
• Kết quả đạt được
– Lý thuyết:
• Tìm hiểu được các kỹ thuật thu thập dữ liệu Web
• Tìm hiểu được các công nghệ Web hiện tại
– Ứng dụng:
• Xây dựng thành công ứng dụng có khả năng thu
thập dữ liệu các trang web từ đơn giản cho đến
tương đối phức tạp, một cách tự động
• Ứng dụng có khả năng mở rộng và phát triển lên
cao
19
4. Tổng kết
• Hạn chế
– Viết file đặc tả cấu hình XML còn khó khăn
– Người sử dụng cần có kiến thức về
Expression, XPath, Selector, và cũng phải
nắm được cấu trúc của trang web cần thu
thập dữ liệu
– Khả năng lấy dữ liệu trên các trang có sự
chuyển trang sử dụng javascript còn hạn chế
20
4. Tổng kết
• Hướng phát triển
– Xây dựng công cụ hỗ trợ người dùng tạo đặc
tả đầu vào XML
– Nghiên cứu các thư viện khác hỗ trợ tốt hơn
trong việc xử lý các trang web có javascript
21
Tài liệu tham khảo
• Tài liệu viết
1. Michael Schrenk (2007). Webbots, Spiders, and Screen Scrapers. No
Starch, San Francisco, USA.
2. Sriram Raghavan, Hector Garcia-Molina (2001). Crawling the Hidden
Web. Computer Science Department, Stanford University, USA.
3. Steve Lawrence, C. Lee Giles (1998). Searching the World Wide Web.
Science, 280(5360):98.
4. Michael K. Bergman (2001). White Paper: The Deep Web: Surfacing
Hidden Value. University of Michigan, USA.
5. Stephen Soderland. Learning to Extract Text-based Information from
the World Wide Web. Department of Computer Science & Engineering,
University of Washington.
22
Tài liệu tham khảo
• Website
1.
2.
3.
4.
5.
6.
Wikipedia, http://www.wikipedia.org (01-2010)
World Wide Web Consortium (W3C), http://www.w3.org (01-2010)
HTML Tidy project, http://tidy.sourceforge.net/ (01-2010)
cURL project, http://curl.haxx.se/ (01-2010)
CodeIgniter Framework, http://codeigniter.com/ (01-2010)
Mozenda software, http://www.mozenda.com/ (01-2010)
23
24
25