Luận Văn Xây dựng ứng dụng thu thập dữ liệu tự động từ các Website

Thảo luận trong 'Công Nghệ Thông Tin' bắt đầu bởi huyhoang3486, 15/10/14.

  1. huyhoang3486

    huyhoang3486 New Member

    Bài viết:
    1
    Được thích:
    0
    Điểm thành tích:
    0
    Xu:
    0Xu
    #1 huyhoang3486, 15/10/14
    Last edited by a moderator: 15/10/14
    TÓM TẮT LUẬN VĂN
    Với sự bùng nổ về công nghệ thông tin những năm gần đây, đặc biệt là sự phát triển
    mạnh mẽ như vũ bão của Internet, cuộc sống của con người đã càng ngày càng trở nên phong
    phú và đa dạng hơn. Kho tàng tri thức của Internet đã làm thay đổi đáng kể nhiều lĩnh vực, từ
    học tập, nghiên cứu cho đến kinh doanh và thương mại. Tuy nhiên con người vẫn không dừng
    lại, họ luôn có những khát khao tìm tòi và phát triển, đặc biệt là đối với chiếc máy tính. Chiếc
    máy tính cá nhân đã được ra đời để trợ giúp cho con người, và họ vẫn luôn tìm cách làm cho
    nó có thể hỗ trợ được cho con người nhiều hơn nữa, thậm chí là làm thay cho con người.
    Trong thực tế hiện nay, lượng thông tin trên Internet càng ngày càng khổng lồ, điều này
    khiến việc sử dụng World Wide Web để khai thác thông tin hữu ích, phục vụ cho các mục
    đích cá nhân luôn có những khó khăn nhất định của nó. Nhất là đối với những mục đích đòi
    hỏi phải có sự thu thập thông tin với khối lượng lớn trên Web, chẳng hạn một công ty quảng
    cáo muốn thu thập thật nhiều thông tin liên lạc của các doanh nghiệp trong nhiều lĩnh vực để
    gửi thư quảng cáo. Những công việc như thế này nếu được thực hiện thủ công bằng sức người
    thì sẽ mất rất nhiều thời gian, công sức, và chúng cũng khá tẻ nhạt do tính chất phải lặp đi lặp
    một vài thao tác của việc thu thập dữ liệu.
    Đề tài Luận Văn Tốt Nghiệp này sẽ cố gắng giải quyết vấn đề nêu trên, bằng cách xây
    dựng một công cụ hỗ trợ có khả năng giúp con người trong những bài toán thu thập dữ liệu,
    một cách tự động. Công cụ sẽ cố gắng làm thay cho con người ở một số công đoạn, giúp giảm
    thời gian và sức lực của con người trong việc thu thập dữ liệu từ các website. Ý tưởng này
    nếu thành công sẽ đem lại được rất nhiều lợi ích vì nhu cầu thu thập dữ liệu trên web hiện nay
    đã trở thành một nhu cầu rất phổ biến và thiết thực.

    MỤC LỤC
    1 Giới thiệu . 11
    1.1 Mở đầu . 11
    1.2 Yêu cầu và mục tiêu của đề tài 11
    1.2.1 Yêu cầu . 11
    1.2.2 Mục tiêu . 12
    1.3 Bố cục báo cáo . 12
    2 Tìm hiểu và phân tích sơ bộ 13
    2.1 Tìm hiểu các kiến thức tổng quan . 13
    2.1.1 World Wide Web 13
    2.1.2 Web Crawler . 14
    2.1.3 Web Scraper . 15
    2.1.4 Phân loại Web . 16
    2.1.4.1 Phân loại dựa vào sự thể hiện của tính động 16
    2.1.4.2 Phân loại dựa vào cách thức tạo ra tính động . 17
    2.1.4.3 Khả năng của các web crawler 18
    2.2 Phân tích sơ bộ . 18
    3 Các kiến thức nền tảng và các công nghệ liên quan . 22
    3.1 HTML 22
    3.2 XML 23
    3.3 XHTML . 24
    3.3.1 Tính chuẩn của một tài liệu XML (well-formed) . 24
    3.3.2 Tên các phần tử và tên các thuộc tính của phần tử phải ở dạng chữ in thường 24
    3.3.3 Các thẻ không rỗng bắt buộc phải có thẻ đóng 24
    3.3.4 Các thuộc tính luôn phải ghi rõ giá trị . 25
    Luận văn tốt nghiệp Xây dựng ứng dụng thu thập dữ liệu web tự động
    Nguyen Trung Kien Trang 6
    3.3.5 Các phần tử rỗng . 25
    3.4 XPath . 26
    3.4.1 Cú pháp và ngữ nghĩa . 26
    3.4.1.1 Cú pháp rút gọn 26
    3.4.1.2 Cú pháp đầy đủ . 27
    3.4.2 Axis specifier 27
    3.4.3 Node test . 28
    3.4.4 Predicate . 28
    3.4.5 Các hàm và toán tử . 29
    3.5 Các công nghệ và thư viện hỗ trợ khác . 29
    3.5.1 HTML Tidy 29
    3.5.2 cURL 31
    4 Phân tích 33
    4.1 Một ví dụ tổng quát của bài toán thu thập dữ liệu 33
    4.2 Phân loại các trang Web dựa vào cách thức chuyển trang . 36
    4.3 Phân tích và các giải pháp . 37
    5 Thiết kế 41
    5.1 Sơ đồ Use Case . 41
    5.2 Kiến trúc tổng quan 42
    5.3 Thành phần FRONT . 44
    5.3.1 Mô hình MVC 44
    5.3.2 Bot Manager . 46
    5.3.2.1 Các trạng thái của Bot . 46
    5.3.2.2 Các lệnh tạo mới, xóa, sửa thông tin Robot . 48
    5.4 Thành phần CORE . 50
    5.4.1 Crawler . 51
    Luận văn tốt nghiệp Xây dựng ứng dụng thu thập dữ liệu web tự động
    Nguyen Trung Kien Trang 7
    5.4.2 Extractor . 53
    5.4.3 Các Helper 54
    6 Hiện thực . 56
    6.1 Môi trường phát triển ứng dụng 56
    6.2 Giao diện sử dụng của WDE . 57
    6.3 Đặc tả dữ liệu đầu vào bằng XML 60
    6.3.1 Đặc tả thông tin chung cho Bot . 60
    6.3.2 Đặc tả các trang 61
    6.3.3 Đặc tả bảng cơ sở dữ liệu 66
    6.4 Cấu trúc cơ sở dữ liệu . 67
    6.4.1 Danh sách các bảng . 67
    6.4.2 Chi tiết các bảng . 67
    6.5 Front . 70
    6.5.1 Bot Manager . 70
    6.6 Core . 72
    6.6.1 Robot 73
    6.6.1.1 Quản lý tiến trình của Robot . 73
    6.6.1.2 Thực hiện quy trình thu thập dữ liệu 75
    6.6.2 Crawler . 77
    6.6.2.1 Simple Crawler: 78
    6.6.2.2 Advanced Crawler: . 79
    6.6.2.2.1 wdeBrowser 79
    6.6.2.2.2 Ví dụ . 81
    6.6.3 Extractor . 82
    6.6.3.1 Expression Extractor . 82
    6.6.3.2 XPath Extractor . 83
    Luận văn tốt nghiệp Xây dựng ứng dụng thu thập dữ liệu web tự động
    Nguyen Trung Kien Trang 8
    6.6.3.3 Selector Extractor 83
    7 Sử dụng và đánh giá . 85
    7.1 Các bước cơ bản để sử dụng ứng dụng 85
    7.1.1 Xác định trang web cần thu thập dữ liệu 87
    7.1.2 Xác định kiểu lấy dữ liệu (crawler engine) cho Robot . 87
    7.1.3 Xác định các tùy chọn cho Robot 87
    7.1.4 Xây dựng cấu hình cụ thể cho từng trang con 88
    7.1.5 Xác định cấu trúc cơ sở dữ liệu lưu trữ: . 89
    7.2 Các ví dụ cụ thể từ đơn giản đến phức tạp . 90
    7.2.1 Ví dụ 1 90
    7.2.2 Ví dụ 2: . 92
    7.2.3 Ví dụ 3 95
    8 Đánh giá chung 98
    8.1 Các kết quả đạt được 98
    8.2 Các hạn chế của ứng dụng 99
    8.3 Hướng phát triển . 100
    9 Tổng kết . 101
    10 Tài liệu tham khảo 102
     

    Các file đính kèm:

Đang tải...