Ứng dụng công nghệ web crawler và web scraper xây dựng website thu thập và tổng hợp thông tin tìm việc làm trên internet

65 1.1K 5
Ứng dụng công nghệ web crawler và web scraper xây dựng website thu thập và tổng hợp thông tin tìm việc làm trên internet

Đ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

LỜI CẢM ƠN Tôi xin bày tỏ lòng biết ơn sâu sắc đến thầy Đàm Thanh Phương, thuộc môn Khoa học bản, trường Đại học Công Nghệ Thông Tin & Truyền Thông – Đại Học Thái Nguyên Trong trình thực đồ án tốt nghiệp, thầy nhiệt tình giúp đỡ, giải đáp thắc mắc tạo động lực giúp hoàn thành đồ án tốt nghiệp Tôi xin bày tỏ lời cảm ơn tới thầy cô môn Mạng & Truyền thông thầy cô trường nhiệt tình giảng dạy để giúp có ngày hôm Cuối lời cảm ơn tới gia đình, bạn bè người sát cánh bên lúc khó khăn, ủng hộ giúp đỡ để hoàn thành đồ án LỜI CAM ĐOAN Tôi xin cam đoan đồ án tốt nghiệp “Ứng dụng công nghệ web crawler web scraper xây dựng website thu thập tổng hợp thông tin tìm việc làm internet” công trình nghiên cứu thân Những phần sử dụng tài liệu tham khảo đồ án nêu rõ phần tài liệu tham khảo Các số liệu, kết trình bày đồ án hoàn toàn trung thực, sai xin chịu hoàn toàn trách nhiệm chịu kỷ luật môn nhà trường đề Tác giả đồ án Hoàng Minh Tuấn TÓM TẮT NỘI DUNG Do nhu cầu thu thập thông tin người ngày tăng, lượng thông tin internet ngày phong phú nên vấn đề tổng hợp thông tin ngày trở nên thiết Với lượng liệu lớn việc thu thập tay tốn nhiều công sức, không đạt hiệu cao, cần công nghệ tổng hợp thông tin cách tự động trình thu thập web đời Đề tài đặt vấn đề tìm hiểu trình thu thập thông tin web bước đầu xây dựng ứng dụng có khả tổng hợp thông tin tự động từ số website tìm việc làm trang http://vieclam.24h.com.vn/ trang http://www.vietnamworks.com/ Ứng dụng xây dựng công nghệ ASP.NET MVC ngôn ngữ C# tương tác với sở liệu SQL Server dựa tiêu chí: tốc độ thu thập nhanh, sở liệu gọn nhẹ, đảm bảo tính toàn vẹn tài liệu gốc MỤC LỤC BẢNG DANH MỤC CÁC HÌNH MINH HỌA Ảnh 1.1: Kiến trúc Net FrameWork Ảnh 1.2: Mô hình MVC Ảnh 2.1: Một vòng thu thập web Ảnh 2.2: Mô hình tương ứng với mã nguồn HTML Ảnh 2.3: Một mô hình trình thu thập đa luồng Ảnh 2.4: Hình minh họa độ hoàn chỉnh độ xác Ảnh 2.5: Hình họa thu hồi mục tiêu Ảnh 2.6: So sánh thuật toán breadth-first naive best-first: (a) Theo độ xác trung bình (b) Theo độ thu hồi mục tiêu trung bình Ảnh 3.1: World wide web Ảnh 3.2: Tương tác client server Ảnh 3.3: Add-ons firebug trình duyệt firefox Ảnh 3.4: Category website vietnamworks Ảnh 3.5: Category website vieclam.24h.com.vn Ảnh 3.6: Bộ lọc kết tìm kiếm Ảnh 3.7: Danh sách ghi Ảnh 3.8: Mã HTML thu sau Crawl link đầu vào Ảnh 3.9: Các bảng CSDL Ảnh 3.10: Giao diện website thông tin tìm việc làm MỞ ĐẦU Ngày nhờ bùng nổ công nghệ thông tin, lịch sử nhân loại bước sang trang Những thành tựu ngành công nghệ thông tin vô to lớn, chi phối làm thay đổi mặt đời sống xã hội, làm cho sống người văn minh, đại Sự đời internet bước tiến vĩ loại, yếu tố quan trọng bậc chi phối sống ngày Nhờ có internet giới trở nên ‘phẳng’ hơn, nơi trái đất học tập tìm kiếm thông tin Theo guồng quay sống, giới internet ngày rộng lớn phong phú Cứ phút trôi qua có thêm hàng triệu trang web sinh để làm giàu cho vốn tài nguyên tri thức nhân loại Nhưng mà việc chọn lọc, tìm kiếm thông tin lại trở nên khó khăn Với kho liệu đồ sộ internet, vấn đề trích xuất tổng hợp thông tin trở thành vấn đề thực cấp thiết Nếu giải vấn đề loại bỏ chướng ngại lớn đường tổng hợp thông tin nhân loại Đề tài đặt vấn đề nghiên cứu trình thu thập thông tin web bước đầu xây dựng ứng dụng có khả tổng hợp thông tin tự động từ trang web tìm kiếm việc làm Đề tài thành công trước mắt công cụ hữu hiệu giúp kết nối người lao động với nhà tuyển dụng sau bước 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 nhiều chi phí công sức so với việc tổng hợp thủ công, tiền đề để xây dựng nên hệ thống máy tìm kiếm cho người Việt Nam Nội dung đồ án tập trung vào mục tiêu sau: - Đưa nhìn tổng quát trình thu thập (web crawler) - kỹ thuật bóc tách liệu web (web scraper) Xây dựng ứng dụng website tổng hợp thông tin việc làm từ nhiều nguồn khác internet Để giải mục tiêu này, đồ án chia thành ba chương lớn: Chương 1: Tổng quan đề tài Trong chương giới thiệu tổng quan đề tài, mục đích ý nghĩa thực tiễn, công nghệ liên quan, ngôn ngữ sử dụng Chương 2: Tìm hiểu trình thu thập web Trong chương tìm hiểu khái niệm trình thu thập web Phần lớn nội dung chương sâu vào việc tìm hiểu thành phần cấu thành nên trình thu thập, chiến lược thu thập liệu, việc đánh giá trình thu thập trang web Qua có nhìn chung trình thu thập web, hiểu giá trị thực tiễn mà mang lại đời sống người Chương 3: Xây dựng ứng dụng website tổng hợp thông tin Phần đầu chương trình bày kiến thức tảng thư viện hỗ trợ, phần đánh giá phân tích giải pháp nhằm nâng cao hiệu suất trình thu thập, phần cuối chương việc thực hóa ứng dụng thông qua việc xây dựng hệ thống sở liệu, Crawler Service website CHƯƠNG 1: TỔNG QUAN VỀ ĐỀ TÀI 1.1 GIỚI THIỆU TỔNG QUAN VỀ ĐỀ TÀI Đề tài đặt vấn đề tìm hiểu trình thu thập thông tin web, từ xây dựng ứng dụng có khả tổng hợp thông tin tự động từ số web tìm việc làm.Website có nguồn liệu phong phú, đa dạng, thông tin cập nhật thường xuyên đáp ứng nhu cầu tìm việc làm cho người lao động 1.2 GIỚI THIỆU VỀ TRÌNH THU THẬP WEB Trình thu thập web (Web crawler) chương trình khai thác cấu trúc đồ thị web di chuyển từ trang qua trang khác Thời kỳ đầu có tên tượng bọ web, rô-bốt, nhện sâu, ngày tên gọi phổ biến trình thu thập web Mặc dù cụm từ ‘thu thập’ không lột tả hết tốc độ chương trình này, chúng có tốc độ làm việc đáng kinh ngạc, thu thập liệu lên đến hàng chục ngàn trang vòng vài phút Từ thời kỳ đầu, động lực quan trọng thúc đẩy trình phát triển việc thiết kế trình thu thập web lấy nội dung trang web thêm chúng đường dẫn chúng vào kho lưu trữ trang – kiểu kho lưu trữ dùng để phục vụ cho ứng dụng cụ thể công cụ tìm kiếm web (search engine) Các trình thu thập thường bắt đầu cách chọn số đường dẫn (URL) ứng với trang web ghé thăm đầu tiên, trang gọi trang hạt giống Khi ghé thăm trang hạt giống, trình thu thập đọc nội dung trang web, lọc tất siêu liên kết (hyperlink) có trang web đưa URL tương ứng với chúng vào danh sách gọi biên giới (frontier) Dựa vào danh sách này, trình thu thập tiếp tục trình duyệt đệ quy để ghé thăm tất URL chưa duyệt Quá trình dừng lại trình thu thập thu thập đủ số trang yêu cầu frontier rỗng, tức không URL để duyệt Tuy mô tả đơn giản đằng sau chúng nhiều vấn đề hóc búa liên quan đến kết nối mạng, bẫy nhện, tiêu chuẩn trích xuất URL, chuẩn hóa trang HTML, bóc tách nội dung trang HTML vv Ở phần sau đồ án trình bày đến vấn đề hướng giải chúng Sau có danh sách URL dùng cho việc thu thập, ta thực trình lấy trang Tất trang lấy lần lưu vào kho lưu trữ giống sở liệu công cụ tìm kiếm, đến không cần thu thập thêm Tuy nhiên web thực thể động với không gian liên tục phát triển thay đổi nhanh cách chóng mặt, thông tin phải liên tục thu thập để giúp ứng dụng cập nhật, ví dụ bổ sung trang loại bỏ trang bị xóa, di chuyển cập nhật trang bị sửa đổi Các trang web chủ yếu viết ngôn ngữ đánh dấu HTML, XHTML nhắm đến đối tượng sử dụng người máy tính Các trang web lại chứa đựng nhiều thông tin có ích mà người muốn thu thập lưu trữ lại, mà cần phải có kỹ thuật bóc tách trích xuất thông tin theo chế tự động Các kỹ thuật bóc tách liệu (parsing) mức đơn giản việc bóc tách siêu liên kết, mức phức tạp chút bóc tách phần nội dung trang web Về chất, trình thu thập web trình duyệt đệ quy đồ thị Các web xem đồ thị với trang đỉnh (node) siêu liên kết cạnh Quá trình lấy trang trích xuất liên kết bên tương tự việc mở rộng tìm kiếm đỉnh đồ thị Việc tìm kiếm khác trình thu thập sử dụng chiến lược tìm kiếm khác Phần sau đồ án trình bày sâu chiến lược tìm kiếm đưa số liệu thống kê để so sánh hiệu suất chiến lược tìm kiếm từ rút đánh giá hiệu suất trình thu thập Trình thu thập web thành phần toàn hệ thống search engine Mục đích chung hệ thống search engine số lượng trang web đầu vào đạt giá trị cao có thể, trình thu thập web làm công việc trì sở liệu đánh mục, trả giá trị thu thập lập mục cho hàng triệu truy vấn nhận từ người dùng Các trang đánh mục dựa thuật toán ưu tiên dựa vào phương pháp dựa kinh nghiệm (heuristic) Ngoài ra, sử dụng trình thu thập web để xây dựng phần mềm tập trung thông tin, trang web tổng hợp thông tin, dựa chế tự động tìm phát tài nguyên 1.3 TỔNG QUAN VỀ NGÔN NGỮ NỀN TẢNG SỬ DỤNG Hệ thống phát triển nền: NET Framework 3.5 Công cụ phát triển Microsoft Visual Studio 2010 sử dụng ngôn ngữ lập trình C# Asp.net MVC Hệ quản trị sở liệu Sql Server 2008 Trong phần trình bày chi tiết công nghệ sử dụng để xây dựng ứng dụng website tổng hợp thông tin 1.3.1 Net Framework NET Framework 3.5 Microsoft khung lập trình tập hợp thư viện lập trình cài thêm có sẵn hệ điều hành Windows Nó cung cấp giải pháp thiết yếu cho yêu cầu thông thường chương trình điện toán lập trình giao diện người dùng, truy cập liệu, kết nối sở liệu, ứng dụng web, giải thuật số học giao tiếp mạng Ngoài ra, khung lập trình NET quản lý việc thực thi chương trình NET người dùng cần phải cài NET để chạy chương trình 10 scraper để bóc tách nội dung cần thiết Quá trình xác định phần nội dung cần bóc tách phải qua trình đây: - Bộ chuyển đổi tài liệu html: Yêu cầu hệ thống cần xây dựng HTMLParser thỏa mãn khả trích xuất nội dung từ tài liệu html Dữ liệu parse thành HTML Tree DOM Từ DOM này, hệ thống truy xuất tới nội dung phân phối mức sâu thực việc bóc tách phần cần thiết theo cấu hình - cho trước HTMLParser chuyển đổi tài liệu sang DOM, khác mục với trình duyệt, HTMLParser cố gắng chuyển đổi HTMLTag tham gia vào trình định dạng cấu trúc tài liệu, không parse thành phần tham gia vào định dạng việc hiển thị liệu HTML Document hay Tag không tham gia vào việc định dạng tài liệu Mục đích giúp cải - thiện phần tốc độ đơn giản Sơ lược kỹ thuật bóc tách: HTML tài liệu định dạng theo mô hình Do đó, hệ thống xử lý nội dung định dạng theo HTML đề chuyển đổi chúng mô hình liệu dạng tree mà xác Tree DOM Dựa Tree DOM, dễ dàng truy xuất thành - phần nó, thêm, bớt hay chỉnh sửa thuộc tính, cách dễ dàng Hầu hết website website động, chúng giống template (mẫu) lên khuôn sẵn có yêu cầu từ phía máy khách, liệu trả theo template Do đó, website có - cấu trúc ổn định với nội dung phân phối tới người dùng Dựa vào đặc tính Website động, sau chuyển đổi tài liệu HTML thành Tree DOM, hệ thống cho phép người dùng xác định khối nội dung cần lấy theo vị trí cụ thể Tree DOM Sau định khối, cấu hình lưu lại phục phụ cho mục đích bóc tách scraper Trong đồ án này, Tôi truy xuất khối nội dung Tree Dom cách sử dụng truy vấn Xpath thư viện HtmlAgilityPack Trong chương Tôi bước thực hóa việc xây dựng website tổng hợp thông tin 51 3.3 CÁC CÔNG CỤ THƯ VIỆN HỖ TRỢ 3.3.1 Thư viện HtmlAgilityPack - Đây phân tích cú pháp HTML mạnh mẽ, cho phép đọc / ghi vào DOM Tree hỗ trợ XPath hay XSLT thư viện mã nguồn mở tảng NET cho phép phân cấu trúc tập tin HTML Html - Agility Pack hỗ trợ LINQ to Object Cho phép sửa cấu trúc trang html như: sửa đổi DOM, thêm nút, - nút chép, Có thể dễ dàng lấy img / src / href với loạt truy vấn Xpath 3.3.2 Add-on firebug firefox Firebug tiện ích hữu ích trình duyệt firefox, hoàn toàn miễn phí, hỗ trợ người dùng theo dõi cấu trúc trang web, xác định phần tử trang web thông qua mô hình thẻ tag dạng Dưới hình minh họa sử dụng firebug để tìm thẻ tag tiêu đề viết trang vnexpress.net Ảnh 3.3: Add-ons firebug trình duyệt firefox 52 3.4 PHÂN TÍCH Để thực hóa việc xây dựng trang web tổng hợp thông tin việc làm trước tiên cần nắm cấu trúc chung số website đăng tin tuyển dụng, từ phân tích đưa giải pháp nhằm giúp cho việc thu thập thông tin đạt hiệu cao 3.4.1 Cấu trúc phổ biến website tìm việc làm Các Category chứa ngành nghề: Ảnh 3.4: Category website vietnamworks Ảnh 3.5: Category website vieclam.24h.com.vn 53 Người dùng thay click chọn ngành nghề website cung cấp lọc kết theo nhiều tiêu chí khác nhau: Ảnh 3.6: Bộ lọc kết tìm kiếm Cả phương thức dẫn đến trang chứa kết gồm nhiều ghi thỏa mãn điều kiện tìm kiếm: 54 Ảnh 3.7: Danh sách ghi 3.4.2 Quy trình thu thập chọn lọc thông tin Từ cấu trúc phổ biến website tìm việc làm phân tích trên, ta xác định thông tin quan trọng mà crawler phải lấy bao gồm: - Ngành nghề Nơi làm việc Nội dung công việc Ngoài thêm thông tin tùy chọn như: Thời gian hết hạn tuyển dụng, mức lương,trình độ yêu cầu Để thống việc tổ chức liệu sau này, Tôi thiết kế chương trình để lấy thông tin nhất, chung mà website tìm việc làm có bao gồm: Ngành nghề, Nơi làm việc nội dung mô tả công việc Bước 1: Khởi tạo tập link ban đầu tương ứng với ngành nghề nơi làm việc mà ta muốn thu thập Ví dụ: 55 http://www.vietnamworks.com/job-search/category/it-hardwarenetworking/location/ha-noi/ (Ngành nghề IT/phần cứng Hà Nội) hoặc: http://vieclam.24h.com.vn/nguoi-tim-viec/timkiem/? province_id=2&career_id=74&level=&chucvu=&mucluong=&sonamkn= (IT – Phần mềm Hà Nội) Như vậy, ứng với link đầu vào đối tượng bao gồm thuộc tính: Ngành nghề, Nơi làm việc, RootUrl Bước 2: Tiến hành Crawl tập link đầu vào thu tập ghi thông tin công việc theo chuyên mục vị trí tương ứng Ảnh 3.8: Mã HTML thu sau Crawl link đầu vào Bước 3: Bóc tách thông tin, làm mịn liệu, loại bỏ, thêm bớt thông tin đưa vào CSDL Mỗi ghi thu dạng link tới viết gốc để giảm thiểu dung lượng csdl ta phải sử dụng 56 Để bóc tách phần nội dung cần thiết ta sử dụng Add-On firebug firefox để xác định vùng liệu muốn lấy thông qua XPATH Tiếp sử dụng thư viện Html Parser mã nguồn mở có tên HtmlAgilityPack để lấy phần nội dung theo XPATH ta vừa phân tích Ví dụ bên đoạn mã bóc tách thông tin site việc làm vietnamworks: //lay noi dung phan parent node HtmlNode rootNode = doc.DocumentNode.SelectSingleNode("/html/body/div[3]/div/div/div[3]/ol"); string rootContent = rootNode.OuterHtml; doc.LoadHtml(rootContent); //lay cac li HtmlNodeCollection liColl = doc.DocumentNode.SelectNodes("//li"); foreach (HtmlNode liItem in liColl) { string record = liItem.InnerHtml; //save to database ConnectDB queryDB = new ConnectDB(); queryDB.insertRecord(record, CateId, LocationId); } Ứng với website muốn thu thập thông tin có phương thức xử lý riêng cấu trúc Html website khác Cách làm đảm bảo liệu lấy xác, toàn vẹn không bị lẫn thông tin không mong muốn 3.5 THIẾT KẾ Hệ thống bao gồm thành phần độc lập nhau: - Window service: đảm nhiệm vai trò Crawler, bóc tách thông tin cần thiết lưu trữ vào database Module viết dạng dịch vụ window nên hoạt động với chế độ background Có thể thiết lập cho service hoạt động với chu kỳ thời gian start, stop lúc - ASP.NET MVC website: Đây website có tác dụng hiển thị thông tin database mà module thứ Crawl hiển thị cho người dùng Phần quản trị website cho phép admin xóa ghi thiết lập thời gian crawl cho service 3.5.1 Cấu trúc CSDL A, Danh sách bảng 57 STT Tên tblCategory tblCraw tblWorkLocation tblConfig Mô tả Bảng category (ngành nghề) Bảng nội dung viết thu thập Bảng lưu nơi làm việc Bảng lưu thiết lập cho crawl service B, Mối quan hệ bảng Ảnh 3.9: Các bảng CSDL 3.5.2 Module window service Module module hệ thống, có chức thu thập liệu tự động Module có class phục vụ việc thu thập thông tin: class Crawler { public string Url { get; set; } public string RootUrl { get; set; } public int CateId { get; set; } //Ngành nghề public int LocationId { get; set; } private string Result=""; int i = 1; //trang bat dau craw public void craw24h() { Result = ""; string url_new = Url; //them so trang vao sau Url url_new += "&page=" + i.ToString(); var webGet = new HtmlAgilityPack.HtmlWeb(); HtmlDocument doc = new HtmlDocument(); doc = webGet.Load(url_new); 58 //lay noi dung phan parent node HtmlNode span = doc.DocumentNode.SelectSingleNode("/html/body/center/div/div[4]/span[2]"); string spanStr = span.OuterHtml; doc.LoadHtml(spanStr); HtmlNodeCollection tableColl = doc.DocumentNode.SelectNodes("//table"); int j = 0; string TablePrimary = ""; //lay noi dung table chua thong tin can thiet luu vao TablePrimary foreach (HtmlNode tableItem in tableColl) { j++; if (j == || j==6) { TablePrimary += tableItem.OuterHtml; } } //duyet cac Td doc.LoadHtml(TablePrimary); HtmlNodeCollection tdColl = doc.DocumentNode.SelectNodes("//td"); foreach (HtmlNode tdItem in tdColl) { if (tdItem.InnerHtml.IndexOf("href")>=0) { Result += tdItem.InnerHtml + "`"; } } doc.LoadHtml(Result); //lam du lieu HtmlNodeCollection removeColl = doc.DocumentNode.SelectNodes("//img"); foreach (HtmlNode imgItem in removeColl) { imgItem.ParentNode.RemoveChild(imgItem); } HtmlNodeCollection linkColl = doc.DocumentNode.SelectNodes("//a"); foreach (HtmlNode linkItem in linkColl) { if (!linkItem.Attributes["href"].Value.Trim().StartsWith("http")) { string hrefValue=linkItem.Attributes["href"].Value.Trim(); linkItem.SetAttributeValue("href", RootUrl + hrefValue); } } string[] ResultArr = doc.DocumentNode.OuterHtml.Split(new char[] { '`' }); if (ResultArr != null) { foreach (string itemResult in ResultArr) { //save to database ConnectDB queryDB = new ConnectDB(); queryDB.insertRecord(itemResult, CateId, LocationId); } } //lap lai voi trang tiep theo if (i < 2) { i++; craw24h(); } 59 } public void crawVietNamWork() { Result = ""; string url_new = Url; //them so trang vao sau Url url_new += "page-" + i.ToString(); var webGet = new HtmlAgilityPack.HtmlWeb(); HtmlDocument doc = new HtmlDocument(); doc = webGet.Load(url_new); //lay noi dung phan parent node HtmlNode rootNode = doc.DocumentNode.SelectSingleNode("/html/body/div[3]/div/div/div[3]/ol"); string rootContent = rootNode.OuterHtml; doc.LoadHtml(rootContent); //lay cac li HtmlNodeCollection liColl = doc.DocumentNode.SelectNodes("//li"); foreach (HtmlNode liItem in liColl) { string record = liItem.InnerHtml; //save to database ConnectDB queryDB = new ConnectDB(); queryDB.insertRecord(record, CateId, LocationId); } //lap lai voi trang tiep theo if (i < 3) { i++; crawVietNamWork(); } } } Trong class xây dựng nhiều phương thức khác nhau, phương thức phục vụ cho website khác Mặc dù cách làm thủ công đảm bảo thông tin lấy xác, toàn vẹn, không dư thừa thông tin Quá trình Crawl thực đa luồng nên đảm bảo tốc độ Crawl diễn nhanh chóng Có thể thiết lập thời gian cho phép lần crawl cách t giây để tối ưu tài nguyên hệ thống, hệ thống có chế kiểm tra ghi insert để bỏ qua lần crawler sau Ngoài thiết lập số trang muốn crawler cho service Người quản trị dễ dàng start hay stop service crawl muốn module viết dạng windows service 60 3.5.3 ASP.NET Website Giao diện thiết kế đơn giản, dễ sử dụng, cho phép lọc thông tin theo ngành nghề nơi làm việc Ảnh 3.10: Giao diện website thông tin tìm việc làm 61 62 KẾT LUẬN Trong khoảng thời gian ba tháng từ nhận đề tài đến hoàn thành xong đồ án, có cố gắng định đạt số kết bước đầu Bằng nỗ lực thân giúp đỡ tận tình thầy Đàm Thanh Phương hoàn thành xong đồ án tốt nghiệp với đề tài: “Ứng dụng công nghệ web crawler web scraper xây dựng website thu thập tổng hợp thông tin tìm việc làm internet” CÁC KẾT QUẢ ĐÃ ĐẠT ĐƯỢC Tìm hiểu kiến trúc trình thu thập web, chế hoạt động trình thu thập web bản, chiến lược thu thập liệu, chế đánh giá trang web trình thu thập Từ kiến thức thu trình tìm hiểu trình thu thập web, hướng đến xây dựng ứng dụng sử dụng trình thu thập web để thu thập thông tin việc làm tự động từ trang thông tin việc làm Việt Nam Ứng dụng bước đầu hoạt động tốt, đảm bảo tiêu chí: tốc độ thu thập nhanh, sở liệu gọn nhẹ, đảm bảo tính toàn vẹn viết gốc Giao diện trang web thiết kế đơn giản, khoa học, thuận tiện cho việc tìm kiếm HƯỚNG PHÁT TRIỂN CỦA ĐỀ TÀI Do thời gian thực đồ án có hạn nên nhiều điểm tồn Ví dụ chưa xây dựng đặc tả thông tin đầu vào XML mà phải code trực tiếp vào phương thức class Crawler ứng với trang web, Chưa cho phép người quản trị hệ thống tùy biến thêm sửa trang thu thập Nếu phát triển thêm nghiên cứu để khắc phục mặt tồn cải tiến hệ thống Về mặt lý thuyết tìm hiểu kỹ trình thu thuật web, kỹ thuật để cải tiến hiệu suất, nâng cao tốc độ thu thập Hướng phát triển đề tài xây dựng hệ thống máy tìm kiếm thông tin dựa sở liệu thu thập 63 64 TÀI LIỆU THAM KHẢO [1] Gautam Pant, Padmini Srinivasan, Filippo Menczer Crawling the Web Web Dynamics 2004, pp 153-178 [2] Sriram Raghavan, Hector Garcia-Molina Crawling the Hidden Web Computer Science Department, Stanford University, USA 2001 [3] Soumen Chakrabarti Mining the Web: Discovering knowledge from hypertext data Elsevier Science, Morgan Kaufmann Publishers 2003 [4] Wikipedia, http://en.wikipedia.org [5] World Wide Web Consortium (W3C), http://www.w3.org [6] Robot Exclusion Protocol, http://www.vietseo.net/indexability/googlebot-varobotstxt/ [7] Web crawler ebook - http://www.ecomstor.com [8] Search engine marketing, Stoney deGeyter, 10/2008 [9] http://codeproject.com 65 ... cần công nghệ tổng hợp thông tin cách tự động trình thu thập web đời Đề tài đặt vấn đề tìm hiểu trình thu thập thông tin web bước đầu xây dựng ứng dụng có khả tổng hợp thông tin tự động từ số website. .. đoan đồ án tốt nghiệp Ứng dụng công nghệ web crawler web scraper xây dựng website thu thập tổng hợp thông tin tìm việc làm internet công trình nghiên cứu thân Những phần sử dụng tài liệu tham khảo... thu thập thông tin web, từ xây dựng ứng dụng có khả tổng hợp thông tin tự động từ số web tìm việc làm .Website có nguồn liệu phong phú, đa dạng, thông tin cập nhật thường xuyên đáp ứng nhu cầu tìm

Ngày đăng: 20/04/2017, 22:25

Mục lục

  • MỞ ĐẦU

  • CHƯƠNG 1: TỔNG QUAN VỀ ĐỀ TÀI

    • 1.1 GIỚI THIỆU TỔNG QUAN VỀ ĐỀ TÀI

    • 1.2 GIỚI THIỆU VỀ TRÌNH THU THẬP WEB

    • 1.3 TỔNG QUAN VỀ NGÔN NGỮ VÀ NỀN TẢNG SỬ DỤNG

      • 1.3.1 Net Framework

      • 1.3.2 Tổng quan về ASP.NET MVC

      • 1.3.3 Ngôn ngữ C#

      • 1.3.4 SQL Server 2008

      • CHƯƠNG 2: TÌM HIỂU VỀ TRÌNH THU THẬP WEB

        • 2.1 CÁCH XÂY DỰNG MỘT HẠ TẦNG THU THẬP

          • 2.1.1 Frontier

          • 2.1.2 Lược sử và kho lưu trữ trang

          • 2.1.3 Cách lấy trang

          • 2.1.4 Bóc tách trang (web scraper)

          • 2.1.5 Trình thu thập đa luồng

          • 2.2 CÁC CHIẾN LƯỢC THU THẬP DỮ LIỆU

            • 2.2.1 Chiến lược thu thập dữ liệu theo chiều sâu

            • 2.2.2 Chiến lược thu thập dữ liệu theo chiều rộng

            • 2.2.3 Chiến lược thu thập dữ liệu theo ngẫu nhiên

            • 2.2.4 Chiến lược thu thập dữ liệu theo lựa chọn tốt nhất ngây thơ.

            • 2.3 ĐÁNH GIÁ CỦA TRÌNH THU THẬP

              • 2.3.1 Độ quan trọng của trang web

              • 2.3.2 Phân tích tổng quát

              • CHƯƠNG 3: XÂY DỰNG WEBSITE THU THẬP VÀ TỔNG HỢP THÔNG TIN TÌM VIỆC LÀM

                • 3.1 CÁC KIẾN THỨC NỀN TẢNG

                  • 3.1.1 Mạng toàn cầu

                  • 3.1.2 Giao thức truyền tải siêu văn bản

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

Tài liệu liên quan