Thu thập dữ liệu tự động web crawler

53 1.3K 11
Thu thập dữ liệu tự động web crawler

Đ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

BAN CƠ YẾU CHÍNH PHỦ HỌC VIỆN KỸ THUẬT MẬT Mà ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ ĐỒ ÁN TỐT NGHIỆP NGHIÊN CỨU KỸ THUẬT THU THẬP DỮ LIỆU TỰ ĐỘNG (CRAWLER) VÀ XÂY DỰNG ỨNG DỤNG THU THẬP DỮ LIỆU VIỆC LÀM Ngành: Công nghệ thông tin Chuyên ngành: An toàn thông tin Mã số: 52.48.02.01 Hà Nội, 2016 BAN CƠ YẾU CHÍNH PHỦ HỌC VIỆN KỸ THUẬT MẬT Mà ¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯ ĐỒ ÁN TỐT NGHIỆP NGHIÊN CỨU KỸ THUẬT THU THẬP DỮ LIỆU TỰ ĐỘNG (CRAWLER) VÀ XÂY DỰNG ỨNG DỤNG THU THẬP DỮ LIỆU VIỆC LÀM Ngành: Công nghệ thông tin Chuyên ngành: An toàn thông tin Mã số: 52.48.02.01 Sinh viên thực hiện: Nguyễn Hữu Quyền Lớp: AT8C Người hướng dẫn: ThS Lê Bá Cường Học viện Kỹ thuật mật mã Hà Nội, 2016 MỤC LỤC DANH MỤC KÍ HIỆU VÀ VIẾT TẮT Ajax Asynchronous JavaScript and XML cURL Encoding Method for Encryption DOM Document Object Model HTML HyperText Markup Language HTTP Hypertext Transfer Protocol PHP Hypertext Preprocessor URL Uniform Resource Locator XML Extensible Markup Language DANH MỤC HÌNH VẼ LỜI NÓI ĐẦU Với phát triển mạnh mẽ Internet năm gần đây, đặc biệt bùng nổ World Wide Web, người ngày phát sinh nhu cầu tìm kiếm sử dụng thông tin Những người dùng bình thường tìm kiếm thông tin Web cách dễ dàng nhờ vào máy tìm kiếm (search engine), họ đánh dấu (bookmark) trang kết chép nội dung họ muốn vào nguồn để tham khảo sau Tuy nhiên lượng thông tin mà họ cần tổng hợp lại nhiều trình duyệt Web, trích xuất lưu trữ theo cách thủ công lại trở thành công việc đầy khó khăn hao tốn nhiều sức lực, thời gian người Một số ví dụ kể như: nhu cầu trích xuất thông tin tất mặt hàng thuộc chuyên mục Website bán hàng nhằm phục vụ mục đích khảo sát thị trường, nhu cầu tổng hợp tin tức từ Website tin tức để xây dựng trang Web thông tin tổng hợp, nhu cầu thu thập thông tin doanh nghiệp thuộc ngành Website danh bạ doanh nghiệp để gửi email quảng cáo, tiếp thị, nhu cầu tìm việc sinh viên trường cao Chính ví dụ thực tế nảy sinh nhu cầu: cần phải có phương thức công cụ có khả tìm kiếm, trích xuất thông tin Web lưu trữ lại thông tin theo ý muốn người, cách tự động hiệu quả, mục tiêu đồ án Đồ án thực nhằm mục đích tìm hiểu thu thập liệu tự động phương pháp xây dựng ứng dụng thu thập liệu việc làm tự động Mục tiêu đặt thực đồ án là: Tìm hiểu kiến thức tổng quan thu thập liệu tự động Hiểu rõ kỹ thuật, chiến lược sử dụng việc thu thập liệu tự động, cách đánh giá trình thu thập liệu Xây dựng ứng dụng thu thập liệu việc làm tự động cho phép thu thập liệu việc làm tra cứu thông tin việc làm thu thập Sau khoảng thời gian thực đồ án, mục tiêu đạt Tuy nhiên chắn không tránh khỏi thiếu sót Rất mong góp ý thầy cô, bạn học viên để đồ án hoàn thiện CHƯƠNG TỔNG QUAN VỀ THU THẬP DỮ LIỆU TỰ ĐỘNG Khi nhắc đến khái niệm thu thập liệu người hiểu lấy thông tin mong muốn từ nguồn thông tin khác sách báo, từ người khác, từ Internet cụ thể trang thông tin điện tử Có thể nói lượng thông tin mà mạng Internet mang lại lớn xu hướng người thường theo dõi thông tin mạng Internet Xu hướng phát triển kéo theo gia tăng nhanh chóng trang thông tin điện tử đó, người có nhu cầu muốn thu thập thông tin trang cách nhanh chóng, tự động để phục vụ cho mục đích Chương đồ án giới thiệu kiến thức tổng quan thu thập liệu tự động 1.1 Các khái niệm thu thập liệu tự động 1.1.1 Trình thu thập Web tự động – Web Crawler Đúng tên gọi – thu thập liệu tự động, hay gọi Web Crawler Có thể hiểu nôm na Web Crawler chương trình máy tính duyệt web cách tự động theo phương thức xác định trước, tự động thu thập cho ta thông tin mong muốn[3] Web Crawler mô tả lại hoạt động thu thập thông tin người qua trang Web thông tin điện tử Ví dụ muốn thu thập thông tin trang Web bước cần làm là: duyệt Web từ trang sang trang khác, tìm kiếm thông tin quan tâm, ghi lại dùng cách để lưu trữ Web Crawler tương tự vậy, nhiên việc thu thập diễn nhanh hơn, lượng thông tin thu thập nhiều quan trọng Và quan trọng nhất, sử dụng Web Crawler, người tiết kiệm khoảng thời gian phải tìm kiếm thu thập thông tin thủ công Vì chương trình nên trình “duyệt web” Web Crawler không hoàn toàn giống với trình duyệt web người (Web Crawler phải sử dụng phương thức dựa HTTP trực tiếp không thông qua trình duyệt người) Một Web Crawler bao gồm: Seeds, Frontier, phận duyệt Web tải nội dung trang Web sở liệu để lưu trữ thông tin thu thập 1.1.2 Hạt giống – Seeds Giới hạn thu thập – Frontier Một Web Crawler bắt đầu với danh sách URL để duyệt, URL gọi hạt giống Khi Crawler duyệt URL này, xác định tất liên kết (URL) có trang Web thêm chúng vào danh sách để duyệt, hiểu danh sách giới hạn thu thập, Crawler duyệt URL có danh sách Ví dụ cụ thể, từ hạt giống trang Web tìm việc làm ‘vietnamworks’ URL sau ‘http://www.vietnamworks.com/’ Web Crawler tìm kiếm tất liên kết(URL) có trang Web thêm vào danh sách ví dụ trang có liên kết tới lĩnh vực việc làm sau: • http://www.vietnamworks.com/dichvu • http://www.vietnamworks.com/xaydung • http://www.vietnamworks.com/dulich Danh sách Frontier gồm liên kết Sau Web Crawler lại tiếp tục duyệt trang theo liên kết lại thêm vào danh sách liên kết có trang sau: • http://www.vietnamworks.com/dichvu/chamsocsuckhoe • http://www.vietnamworks.com/dichvu/giaoducdaotao • http://www.vietnamworks.com/xaydung/kientruc • http://www.vietnamworks.com/xaydung/batdongsan • http://www.vietnamworks.com/dulich/nhahang • http://www.vietnamworks.com/dulich/hangkhong Lúc Frontier có đến 10 liên kết, trình thu thập liên kết lặp lặp lại thỏa mãn điều kiện định người dùng đặt chẳng hạn Frontier chứa 100 liên kết dừng lại 1.1.3 Sơ đồ hoạt động Web Crawler Hình 1.1 cho ta thấy sơ đồ hoạt động Web Crawler Từ danh sách Seed, Crawler tiến hành duyệt thu thập liên kết cho vào Frontier, từ Frontier tiến hành duyệt, xử lý, mục đích cuối thu thập, lưu trữ thông tin mong muốn phục vụ cho việc nghiên cứu, đánh giá, tìm kiếm thông tin Với xuất Crawler, thao tác thực cách tự động, tốc độ Crawler nhanh nhiều so với cách thủ công nhiên để thông tin thu thập từ Crawler xác thông tin thu thập theo cách thủ công việc cấu hình, thuật toán, kỹ thuật bóc tách liệu phải đầu tư nhiều Hình 1.1 Sơ đồ hoạt động Web Crawler đơn giản 1.1.4 Xử lý liệu cách sau thu thập Sau trình thu thập liệu từ Web Crawler, việc xử lý liệu đặc biệt quan trọng Ví dụ ta duyệt trang Web, sơ đồ hình 1.1 phía trên, ta thu thập nội dung trang Web đó, thực tế, thông tin mong muốn nhiều phần nhỏ trang Web Lấy ví dụ cụ thể, thu thập liệu việc làm, duyệt đến trang chủ, ta cần lấy thông tin danh mục (category) bao gồm tên liên kết chúng Ví dụ mục ‘Xây dựng’ có liên kết ‘http://www.timviec.com/xaydung’, mục ‘Marketing’ có liên kết ‘http://www.timviec.com/marketing’ Những thông tin chiếm phần nhỏ trang Web, phần lại gồm thông tin quảng cáo, hình minh họa, viết liên quan đến việc làm lại không nằm mục đích thu thập Một ví dụ khác việc xử lý liệu sau thu thập lĩnh vực quảng cáo, ví dụ quảng cáo Facebook, họ cần liệu người dùng tên, tuổi, nơi sống, sở thích… Họ thu thập lưu trữ thông tin phục vụ cho việc quảng cáo, ví dụ quảng cáo game hướng đến giới trẻ, người có sở thích game, hay quảng cáo đồ dùng gia đình hướng đến bà mẹ nội trợ Thông tin có giá trị sử dụng cách 1.2 Kiến thức cần biết Web công cụ hỗ trợ trình thu thập liệu Để sử dụng ứng dụng thu thập liệu, ta cần nắm kiến thức ngôn ngữ HTML số công cụ đơn giản 1.2.1 Khái niệm HTML HTML chữ viết tắt HyperText Markup Language, có nghĩa ngôn ngữ đánh dấu siêu văn Nó dùng để định dạng bố cục, thuộc tính liên quan đến cách hiển thị đoạn text hiển thị trình duyệt Hiện có nhiều trình duyệt Firefox, Chrome, Cốc Cốc, HTML đời với mục đích thiết kế bố cục nội dung cho liệu nói chung cho giao diện trang Web nói riêng HTML có thẻ mở thẻ đóng với cú pháp: Ngoài thẻ HTML có số thuộc tính riêng danh sách thuộc tính nằm bên thẻ mở: Ta hình dung bố cục HTML trang Web sau: Tiêu đề Chủ đề

Nội dung

Trong đó: • phần khai báo kiểu liệu hiển thị html để trình duyệt biết • cặp thẻ nằm có nhiệm vụ bao hết nội dung trang Web lại Thẻ bắt buộc • phần khai báo thông tin trang Web • phần khai báo tiêu đề trang Web • thành phần quan trọng nhất, chứa đoạn mã HTML dùng để hiển thị trang Web • Các thẻ lại nằm thẻ thẻ định dạng liệu Chúng ta đặc biệt quan tâm đến nội dung trang Web có thẻ thẻ định dạng liệu nằm triển khai ứng dụng thu thập liệu việc làm 1.2.2 Công cụ Inspect Element trình duyệt Inspect Element công cụ hỗ trợ tuyệt vời trình duyệt giúp ta xác định thẻ HTML định dạng liệu cách nhanh chóng 10 3.1.2 Cơ sở liệu ứng dụng thu thập liệu việc làm Do phục vụ cho mục đích tra cứu thông tin việc làm nên sở liệu ứng dụng đơn giản Cơ sở liệu gồm bảng: • Bảng tblconfig: Chứa thông số thiết lập ban đầu, người sử dụng cần nhập lần lần sau chọn thiết lập lưu sẵn cú click chuột Bảng gồm trường sau: + cfId: id bảng tblconfig + cfName: tên cấu hình Ví dụ: Crawler websiteA, Crawler websiteB… + cfHost: liên kết trang chủ trang Web đích + cfSite: liên kết trang hạt giống – Seed, từ thu thập URL ứng với lĩnh vực việc làm + cfGroup: thẻ, thuộc tính HTML lĩnh vực việc làm + cfGroupUrl: Url lĩnh vực việc làm, sử dụng muốn thu thập lĩnh vực tuyển dụng không thu thập tất lĩnh vực + cfPage: tương tự cfGroup dành để lấy thông tin trang trang 1, trang 2… + cfNumPage: số trang muốn thu thập lĩnh vực + cfItem: lấy thông tin khối(block) công việc tuyển dụng Ví dụ lĩnh vực A chia làm nhiều trang, trang có chứa 10 công việc + cfTitle: lấy thông tin tiêu đề viết tuyển dụng + cfDate: lấy thông tin ngày tháng năm đăng viết tuyển dụng + cfSalary: lấy thông tin mức lương công việc + cfPlace: lấy thông tin nơi làm việc + cfCompany: lấy thông tin tên công ty tuyển dụng + cfContent: lấy thông tin nội dung viết tuyển dụng + cfLogin: chứa liên kết đến trang đăng nhập, dùng trang Web bắt đăng nhập cung cấp đủ thông tin mong muốn + cfSession: chứa session đăng nhập Khi đăng nhập trang Web sinh session ta sử dụng session phục vụ cho ứng dụng + cfRmvImg: tùy chọn có xóa ảnh thu thập thông tin hay không Việc xóa ảnh giúp trình thu thập thông tin diễn nhanh mà ảnh hưởng đến giá trị thông tin thu + cfRmvA: tùy chọn có xóa liên kết có viết tuyển dụng hay không 39 + cfbeforeDate: theo khảo sát số trang Web có phần ngày đăng tuyển theo dạng: Đăng ngày 01/01/2016 Để dễ dàng lấy thông tin 01/01/2016 Ứng dụng xóa số kí tự phía trước Như ví dụ trên, ta cần nhập trường 10 để xóa ‘Đăng ngày ’ phía trước • Bảng tbldata: Chứa liệu việc làm có từ trình thu thập tự động Bảng có chứa trường tương ứng với bảng tblconfig sau: + cId: id bảng tbldata + cTitle: tiêu đề viết tuyển dụng + cContent: nội dung viết tuyển dụng + cDate: ngày đăng viết tuyển dụng + cGroup: lĩnh vực tuyển dụng + cCompany: công ty tuyển dụng + cSalary: mức lương công việc + cPlace: nơi làm việc Để dễ dàng theo dõi hơn, ta có chi tiết cấu trúc bảng sau: Hình 3.3: Cấu trúc bảng tblconfig 40 Hình 3.4: Cấu trúc bảng tbldata 3.1.3 Giao diện ứng dụng thu thập liệu việc làm Tương ứng với môđun, giao diện ứng dụng chia làm mục lớn theo dạng Tab bao gồm ‘CONFIGURATION’ ‘JOBS INFORMATION’ Mục thứ ứng với môđun thu thập liệu, người sử dụng nhập vào thiết lập ban đầu sau bắt đầu thu thập cách nhấn nút ‘START CRAWL’ lưu thông số thiết lập lại cách nhấn nút ‘SAVE CONFIG’ Các thông số thiết lập lưu hiển thị bên phải theo dạng Tab Ta thiết lập nhanh cách nhấn nút ‘SET CRAWL’ Hình 3.5: Mục ‘Configuration’ ứng dụng thu thập liệu việc làm Tiếp theo mục ‘JOBS INFORMATION’ Kết thu ứng dụng thu thập liệu việc làm Đầu tiên ta chọn lĩnh vực muốn tra cứu, tất cả, lĩnh vực cụ thể 41 Hình 3.6: Danh sách lĩnh vực tuyển dụng muốn tra cứu Hình 3.7 giao diện sau chọn lĩnh vực, thông tin viết hiển thị theo dạng bảng, điều chỉnh cách xếp, xem theo thứ tự thời gian cũ nhất, tìm kiếm theo từ khóa… Hình 3.7: Danh sách việc làm thu thập Do thông tin nội dung viết dài không phù hợp hiển thị theo dạng bảng, ta cần ẩn cần lên cách nhấp chuột vào ‘Xem chi tiết nội dung’ 42 Hình 3.8: Chức xem chi tiết nội dung tuyển dụng 3.1.4 Cách thiết lập thông số ban đầu cho ứng dụng thu thập liệu việc làm Hình 3.9: bước hoạt động ứng dụng thu thập liệu việc làm Ứng dụng hoạt động dựa theo bước chính: • Thiết lập thông số: yêu cầu người sử dụng nhập vào thông tin ban đầu phần tử chứa thông tin mong muốn • Thu thập liệu: ứng dụng bắt đầu trình thu thập tự động, thông tin thu thập lưu vào sở liệu • Hiển thị liệu thu thập được: thông tin việc làm hiển thị cho người dùng tra cứu Việc thiết lập thông số ban đầu quan trọng thiết lập ứng dụng hoạt động tốt thu thập thông tin có giá trị Đầu tiên điền vào URL cần thiết trang chủ, trang lấy URL lĩnh vực, trang đăng nhập Để lấy giá trị xác phần tử mục dạng ‘Get … Tag’, ta cần sử dụng công cụ ‘inspect element’ giới thiệu chương Ví dụ muốn lấy giá trị để điền vào ô ‘Get group tag’, ta cần vào trang Web đích, nhấp chuột phải vào lĩnh vực bất kì, chọn ‘Inspect Element’, sau tìm thẻ thích hợp 43 Hình 3.10: Sử dụng công cụ Inspect Element để lấy thẻ HTML Như hình trên, ta lấy giá trị ‘.col-md-6 ul li a’ để điền vào ô ‘Get group Tag’ Giá trị ô ‘Get item Tag’, ‘Get page Tag’… lấy theo cách tương tự Giá trị ô ‘Get session’ có chút khác biệt so với thông số lại Ta cần lấy giá trị session đăng nhập trang Web để điền vào ô Cách lấy sau: truy cập vào trang đăng nhập Web đích, tạo tài khoản đăng nhập, sau tìm thông tin session cách nhấn F12 vào mục Net (hoặc Network) Phần khoanh ô vuông ảnh sau session cần lấy Hình 3.11: Sử dụng công cụ Inspect Element để lấy biến session Các ô lại ‘Number of page’ số trang thu thập lĩnh vực, ‘Remove Image, Remove link’ cho phép người dùng xóa ảnh liên kết có nội dung viết tuyển dụng Và ‘Date Substring: Before’ xóa số 44 kí tự trước phần tử ngày chúng có dạng ‘đăng tuyển 1/1/2016’ ‘ngày 1/1/2016’ Ví dụ ‘đăng tuyển 1/1/2016’ ta cần xóa 11 kí tự đằng trước để thu giá trị ngày tháng năm xác Ứng dụng hoạt động theo cách: thu thập thông tin trang Web theo tất lĩnh vực theo lĩnh vực cụ thể Nếu người sử dụng muốn thu thập tất cả, ô ‘Get group URL(crawl only category)’ phải bỏ trống, ứng dụng tự hiểu người sử dụng muốn thu thập tất Ngược lại, muốn thu thập riêng lĩnh vực, người sử dụng cần điền URL lĩnh vực mong muốn vào ô Hình 3.11 cho thấy Frontier theo cách thu thập tất thu thập riêng lĩnh vực Ví dụ chọn số trang thu thập 5, lĩnh vực có URL nằm Frontier Như vậy, có 100 lĩnh vực Frontier bao gồm 500 URL Hình 3.12: Frontier chứa danh sách lĩnh vực tuyển dụng theo cách thu thập 3.2 Đánh giá kết thu thập ứng dụng thu thập việc làm Ứng dụng xây dựng theo dạng Web Server đồng nghĩa với việc sử dụng lúc nhiều người Và hiểu Tab trình duyệt truy cập tới ứng dụng luồng hoạt động Như ta tăng tốc độ thu thập thông tin cách đơn cách sử dụng nhiều Tab để truy xuất tới ứng dụng Kết thực nghiệm, ứng dụng thu thập 1000 kết từ Website ‘http://www.vietnamworks.com/’ thời gian 34 phút 40 giây Như tốc độ thu thập ứng dụng 0.48record/s Tốc độ tải trình duyệt trang chi tiết việc làm 10.2s Một phép tính đơn giản thực theo cách thủ công để duyệt hết 1000 trang ta cần tới 10200s tương đương 48 phút chưa kể 45 thao tác lưu liệu Kết coi thành công bước đầu việc xây dựng ứng dụng thu thập liệu nhanh, hiệu Một thử nghiệm khác, ứng dụng thu thập tổng cộng 2405 kết thời gian 30phút Như tốc độ thu thập 0.44record/s Có thể thấy tốc độ thu thập ứng dụng phụ thuộc nhiều vào tốc độ ổn định đường truyền mạng Internet Do hạn chế trình độ nên hiệu suất ứng dụng chưa thể so sánh với ứng dụng thu thập liệu phổ biến lớn nhiên hi vọng ứng dụng giúp ích cho số người trình tìm kiếm việc làm 3.3 Đánh giá ưu nhược điểm ứng dụng thu thập việc làm 3.3.1 Ưu điểm Ưu điểm rõ nhìn thấy tốc độ thu thập nhanh nhiều so với duyệt trang Web theo cách thủ công, liệu thu thập xác giảm tối đa việc thu thập thông tin thừa Cách hiển thị liệu thu thập ưu điểm ứng dụng chúng xếp theo dạng bảng, tra cứu theo từ khóa, theo lĩnh vực việc làm riêng, xếp theo thời gian Khi nhìn vào ứng dụng, ta thấy thông tin mong muốn nhìn thấy thông tin thừa hình quảng cáo Ngoài việc liệu lưu lại sở liệu giúp ta tra cứu thông tin thu thập mạng Internet Có thể tóm tắt ưu điểm ứng dụng ý sau đây: • Tốc độ thu thập nhanh liệu thu thập xác duyệt trang thủ công • Tùy vào mục đích sử dụng thu thập theo tất lĩnh vực tuyển dụng lĩnh vực riêng lẻ • Giao diện tra cứu việc làm hiển thị đơn giản, dễ sử dụng, tra cứu theo từ khóa, thời gian, xếp tăng dần giảm dần, tùy chỉnh số lượng ghi hiển thị 3.3.2 Nhược điểm Ứng dụng phát triển nên nhiều mặt hạn chế cần phải khắc phục Đầu tiên việc để thiết lập thông số ban đầu xác đòi hỏi người sử dụng phải tìm hiểu HTML, hay việc thu thập tự động gặp khó khăn với trang Web không sử dụng phân trang mà dùng Ajax để tải trang Giải thuật môđun thu thập cần nâng cấp thêm để tăng tốc độ thu thập Mặc dù trường hợp thu thập ứng dụng việc làm, phạm vi thông tin nhỏ 46 triển khai thu thập phạm vi rộng thời gian tương đối lớn so với trình thu thập tiếng khác Cùng với hoạt động phạm vi rộng cấu trúc sở liệu cần thay đổi để phù hợp chặt chẽ Có thể tóm tắt hạn chế ứng dụng ý sau: • Đòi hỏi người sử dụng phải có kiến thức HTML, phải thời gian làm quen để thiết lập cấu hình xác • Gặp khó khăn trang Web dùng Ajax để tải trang (ví dụ ấn ‘Xem thêm’ trang Web không chuyển hướng sang trang mà tải tiếp nội dung xuống dưới) • Nếu hoạt động phạm vi rộng giải thuật sở liệu cần nâng cấp để nâng cao tốc độ thu thập tăng tính ổn định • Cần phát triển nhiều tính có ích hướng đến người sử dụng 3.4 Hướng phát triển ứng dụng thu thập liệu việc làm Nhu cầu tìm việc luôn lớn để đáp ứng nhu cầu tìm việc ứng dụng thu thập liệu việc làm cần phát triển, nâng cấp để người sử dụng có trải nghiệm tốt nhất, sử dụng đơn giản dễ hiểu Ngoài cần phát triển thêm tính phụ trợ Một số ý tưởng phát triển là: • Cho phép người sử dụng chọn lĩnh vực muốn theo dõi, sau khoảng thời gian định ứng dụng tự động thu thập thông tin việc làm lĩnh vực Nếu có công việc thông báo cho người sử dụng (hoạt động tương tự chức báo tin Facebook) Tính khả thi, người dùng nhập vào lĩnh vực muốn theo dõi, thiết lập khoảng thời gian, sau ứng dụng tạo thread hoạt động liên tục Tuy nhiên hạn chế điều việc hoạt động liên tục ảnh hưởng đến hiệu suất hoạt động máy tính yếu • Phát triển ứng dụng tảng điện thoại di động Hiện điện thoại di động thông minh (smart phone) trở thành phần thiếu sống, người dùng lại theo dõi thông tin việc làm thu thập tự động qua điện thoại mình, tra cứu lúc nơi mà không cần phải dùng máy tính Đây hướng phát triển thiết thực cần thiết để người sử dụng thuận tiện • Từ thu thập việc làm ta phát triển ứng dụng lên thành thu thập tài liệu học tập, file văn bản, thông tin thời sự, tin tức, giải trí… theo 47 hướng phát triển thành trang Web thông tin tổng hợp, tương tự ‘dantri.com.vn’, ‘kenh14.vn’ 48 KẾT LUẬN Qua ba chương, đồ án đạt số kết định Cụ thể: Chương đưa kiến thức tổng quan thu thập liệu tự động, khai phá liệu, khái niệm Web, ngôn ngữ HTML, công cụ hỗ trợ trình xây dựng ứng dụng thu thập liệu cấu trúc trang thông tin điện tử Ở chương 2, đồ án sâu vào tìm hiểu vấn đề thu thập liệu tự động, gồm có mô hình hệ thống thu thập liệu tự động, tính cần có, sách nên tuân thủ, kỹ thuật, chiến lược thu thập Đồng thời đưa cách đánh giá trình thu thập liệu dựa vào độ hoàn chỉnh độ xác Các khái niệm thư viện SIMPLE_HTML_DOM cURL ứng dụng xây dựng ứng dụng thu thập thông tin việc làm tự động giới thiệu chương Trong chương 3, đồ án trình bày chi tiết mô hình hoạt động ứng dụng thu thập liệu việc làm tự động, hướng dẫn cách thiết lập thông số ban đầu để thu thập liệu xác Đồng thời chương nêu ưu điểm mặt hạn chế, hướng phát triển ứng dụng Dù vậy, số vấn đề liên quan đến thu thập liệu mà đồ án chưa sâu ứng dụng đầy đủ thuật toán thu thập liệu để so sánh hiệu suất thu thập chúng, kỹ thuật thu thập liệu mà liệu thu thập thuộc nhiều định dạng khác Việc giải điểm tồn hướng phát triển tương lai đồ án 49 TÀI LIỆU THAM KHẢO Tiếng Việt [1] Đỗ Thị Diệu Ngọc, “TỔNG QUAN VỀ KHAI PHÁ DỮ LIỆU WEB”, K44 Đại học Công nghệ ĐHQGHN http://uet.vnu.edu.vn/~thuyhq/Student_Thesis/K44_Do_Thi_Dieu_Ngoc_Thesis.p df [2] “Dùng PHP Crawler Để Lấy Dữ Liệu Tự Động Từ Một Website”, 7/2015 http://phpcoban.com/demo-dung-php-crawler-de-lay-du-lieu-tu-dong-tu-motwebsite/ Tiếng Anh [3] Marc Najork, “Web Crawler Architecture”, 2010 http://research.microsoft.com/pubs/102936/eds-webcrawlerarchitecture.pdf [4] Trupti V Udapure, Ravindra D Kale, Rajesh C Dharmik, “Study of Web Crawler and its Different Types”, Feb 2014 http://www.iosrjournals.org/iosr-jce/papers/Vol16-issue1/Version6/A016160105.pdf [5] Raja Iswary, Keshab Nath, “WEB CRAWLER”, October 2013 http://www.ijarcce.com/upload/2013/october/50-o-Keshab_Nath_web_crawler.pdf [6] Wikipedia, “Web crawler” https://en.wikipedia.org/wiki/Web_crawler [7] S.C Chen, “PHP Simple HTML DOM Parser Manual” http://simplehtmldom.sourceforge.net/manual.htm [8] Pavalam S M, S V Kashmir Raja, Felix K Akorli, Jawahar M, “A Survey of Web Crawler Algorithms”, November 2011 http://ijcsi.org/papers/IJCSI-8-6-1-309-313.pdf [9] Ayoub Mohamed H Elyasir, Kalaiarasi Sonai Muthu Anbananthen, “Focused Web Crawler”, 2012 [10] Manpreet Kaur, Yasmeen Kaur Dhaliwal, “Focused Crawler: A Review”, May 2014 [11] Chen Ding, “Network and Parallel Computing: IFIP International Conference NPC 2010 p 91”, 2010 [12] Aviral Nigam, “Web Crawling Algorithms”, September 2014 50 [13] Wikipedia, “Precision and recall” https://daniel.haxx.se/curl-20071208.pdf [14] W3Schools, “HTML DOM” http://www.w3schools.com/js/js_htmldom.asp [15] Daniel Stenberg, “curl and libcurl”, 2007 https://daniel.haxx.se/curl-20071208.pdf 51 PHỤ LỤC Một số đoạn mã chương trình minh họa hoạt động ứng dụng thu thập việc làm tự động: • Lấy thông tin thiết lập ban đầu người sử dụng nhập vào để xử lý //thêm thư viện simple_html_dom include ("simple_html_dom.php"); //thêm hàm tương tác với sở liệu include ("db/dbTools.php"); //lấy biến thiết lập người dùng nhập vào thông qua phương thức get $hostUrl = $_GET['host_input']; $siteUrl = $_GET['site_input']; $session = $_GET['session_input']; $groupTag = $_GET['group_input']; $groupOnlyUrl = $_GET['group_input_only']; $pageUrl = $_GET['page_input']; $itemUrl = $_GET['item_input']; $infoUrl = $_GET['info_input']; $info2Url = $_GET['info2_input']; $info3Url = $_GET['info3_input']; $info4Url = $_GET['info4_input']; $CompanyTag = $_GET['info5_input']; $ContentTag = $_GET['info6_input']; $login_url = $_GET['login_input']; $page_num_input = $_GET['page_num_input']; $remove_img = false; $remove_a = false; $beforeDate_input = $_GET['beforeDate_input']; if(isset($_GET['remove_img']) && $_GET['remove_img'] == '1') $remove_img = true; if(isset($_GET['remove_a']) && $_GET['remove_a'] == '1') $remove_a = true; • Tạo session đăng nhập để xem mức lương $ch = curl_init(); $agent = $_SERVER["HTTP_USER_AGENT"]; curl_setopt($ch, CURLOPT_USERAGENT, $agent); curl_setopt($ch, CURLOPT_URL, $login_url ); curl_setopt($ch, CURLOPT_POST, ); curl_setopt($ch, CURLOPT_POSTFIELDS, $session); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); • Lấy mảng chứa URL lĩnh vực tuyển dụng $html = file_get_html($siteUrl); $ret = $html->find($groupTag); foreach($ret as $r): $u = $r->href; //liên kết URL 52 $n = $r->innertext; endforeach; //tên lĩnh vực tuyển dụng • Hiển thị liệu thu thập theo dạng bảng Ajax $(document).ready(function () { $("#groupSelect").change(function () { var value = document.getElementById('groupSelect').value; $.ajax({ url: "ajaxInfo.php?value=" + value, success: function (result) { var dataArray = JSON.parse(result); document.getElementById('place').innerHTML = ""; document.getElementById('place').innerHTML = ''; $('#table_info').DataTable({ data: dataArray, columns: [ {title: "ID"}, {title: "Title"}, {title: "Content"}, {title: "Date"}, {title: "Group"}, {title: "Company"}, {title: "Salary"}, {title: "Place"} ] }); } }); }); }); • Hàm chuyển đổi liệu ngày tháng năm thu thập thành dạng chuẩn để lưu vào sở liệu function convertTime($date){ if(strpos($date, "-")!==false){ list($d,$m,$y) = explode("-",$date); }elseif(strpos($date, "/")!==false){ list($d,$m,$y) = explode("/",$date); } else{ return date("Ymd"); } if(strlen($y2.$m.$d)!=8){ return date("Ymd"); } return $y2.$m.$d; } 53

Ngày đăng: 21/09/2016, 23:35

Từ khóa liên quan

Mục lục

  • Mục lục

  • Chương 1. TỔNG QUAN VỀ THU THẬP DỮ LIỆU TỰ ĐỘNG

    • 1.1. Các khái niệm về thu thập dữ liệu tự động

      • 1.1.1. Trình thu thập Web tự động – Web Crawler

      • 1.1.2. Hạt giống – Seeds và Giới hạn thu thập – Frontier

      • 1.1.3. Sơ đồ hoạt động của Web Crawler

      • 1.1.4. Xử lý dữ liệu đúng cách sau khi thu thập

      • 1.2. Kiến thức cần biết về Web và công cụ hỗ trợ quá trình thu thập dữ liệu

        • 1.2.1. Khái niệm HTML

        • 1.2.2. Công cụ Inspect Element trên trình duyệt

        • 1.3. Cấu trúc trang thông tin điện tử

          • 1.3.1. Sơ đồ cấu trúc trang thông tin điện tử

          • 1.3.2. Giao diện của trang thông tin điện tử

          • Chương 2. Các Phương pháp trong việc thu thập dữ liệu tự động

            • 2.1. Mô hình hệ thống thu thập dữ liệu

            • 2.2. Các tính năng của một trình thu thập dữ liệu

            • 2.3. Các chính sách trình thu thập dữ liệu cần tuân thủ

            • 2.4. Các chiến lược thu thập dữ liệu

              • 2.4.1. Chiến lược thu thập theo chiều sâu – Depth-First Search

              • 2.4.2. Chiến lược thu thập theo chiều rộng – Breadth-First Search

              • 2.4.3. Chiến lược thu thập theo tính ngẫu nhiên – Random-First Search

              • 2.4.4. Chiến lược thu thập dữ liệu theo lựa chọn tốt nhất – Naive Best-First Search

              • 2.5. Các kỹ thuật thu thập dữ liệu

                • 2.5.1. Thu thập dữ liệu tập trung – Focused Crawler

                • 2.5.2. Thu thập dữ liệu phân tán – Distributed Crawler

                • 2.5.3. Thu thập dữ liệu tăng tiến – Incremental Crawler

                • 2.5.4. Thu thập dữ liệu Web ẩn

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

Tài liệu liên quan