TRƯỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI
TRƯỜNG CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG
──────── * ───────
BÁO CÁO
MÔN: ĐỒ ÁN TIN HỌC
Phát triển ứng dụng thu thập dữ liệu tuyển
dụng về ngành công nghệ thông tin
Sinh viên thực hiện : Lê Đức Đăng
Lớp
: 719771
Giáo viên hướng dẫn : Nguyễn Mạnh Tuấn
Đồ án tin học
Giáo viên hướng dẫn: Nguyễn Mạnh Tuấn
Hà Nội, tháng 12 năm 2019
2
Đồ án tin học
Giáo viên hướng dẫn: Nguyễn Mạnh Tuấn
MỤC LỤC
MỤC LỤC....................................................................................................................2
LỜI NÓI ĐẦU..............................................................................................................3
CHƯƠNG 1.
KHẢO SÁT, ĐẶC TẢ YÊU CẦU BÀI TỐN...............................4
1.1. Mơ tả u cầu bài tốn...................................................................................4
1.2. Biểu đồ use case..............................................................................................4
1.2.1. Biểu đồ use case tổng quan........................................................................4
1.3. Đặc tả use case................................................................................................4
CHƯƠNG 2.
CƠNG NGHỆ VÀ THUẬT TỐN SỬ DỤNG...............................6
XÂY DỰNG CHƯƠNG TRÌNH MINH HỌA..........................................................6
2.1. Kết quả chương trình minh họa....................................................................6
2.2. Giao diện chương trình................................................................................10
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN................................................................11
TÀI LIỆU THAM KHẢO.........................................................................................12
PHỤ LỤC...................................................................................................................13
3
Đồ án tin học
Giáo viên hướng dẫn: Nguyễn Mạnh Tuấn
LỜI NĨI ĐẦU
Với tình hình tìm việc hiện nay đang trở nên ngày càng thiết thực sau mùa dịch
mà thời gian càng ngày càng ít. Trên thực tế đó, có rất nhiều ứng dụng và website tìm
việc nên để giảm thiểu thời gian cơng sức và tăng hiệu suất làm tìm việc làm ta cần có
một ứng dụng thu thập tổng hợp dữ liệu việc làm để hỗ trợ cho khả năng tìm việc.
Hiện đã có một số ứng dụng đã được các lập trình viên viết ra để đáp ứng nhu
cầu này. Và ứng dụng sau đây của em thực hiện cũng nhằm giải quyết một số vấn đề
về thu thập dữ liệu việc làm.
4
Đồ án tin học
Giáo viên hướng dẫn: Nguyễn Mạnh Tuấn
CHƯƠNG 1. KHẢO SÁT, ĐẶC TẢ U CẦU BÀI TỐN
1.1. Mơ tả yêu cầu bài toán
Bài toán nghiên cứu và làm một ứng dụng thu thập dữ liệu trên website việc
làm: ở mục tìm việc làm “CNTT- phần mềm”. Sau đó xuất
thơng tin cần ra màn hình hoặc xuất ra file csv.
1.2. Biểu đồ use case
1.2.1. Biểu đồ use case tổng quan
1.3. Đặc tả use case
Use Case
Tên Use Case
Mô tả
Actor
Nội dung
Đọc thông tin
Use-case cho phép người dùng đọc thông tin cần tìm kiếm
Người dùng
5
Đồ án tin học
Điều kiện kích hoạt
Tiền điều kiện
Hậu điều kiện
Luồng sự kiến chính
Luồng sự kiện phụ
Giáo viên hướng dẫn: Nguyễn Mạnh Tuấn
Khi người dung chọn nút “search” trên màn hình
Người dung phải khởi động phần mềm
Thơng tin được xuất hiện trên màn hình
1.Hệ thống hiện thị phần mềm
2.Người dùng nhập những thơng tin cần tìm kiếm
3.Hệ thống tìm kiếm thông tin trong dữ liệu
4.Nếu thành công hệ thống xuất thơng tin trên màn hình
5. kết thúc Use-case
Khi khơng tìm được thơng tin cần sẽ hiện ra “Print box” dịng
chữ “Not found”
6
Đồ án tin học
Giáo viên hướng dẫn: Nguyễn Mạnh Tuấn
CHƯƠNG 2. CƠNG NGHỆ VÀ THUẬT TỐN SỬ DỤNG
XÂY DỰNG CHƯƠNG TRÌNH MINH HỌA
2.1. Kết quả chương trình minh họa
Đầu tiên, Import các thư viện cần thiết cho bài toán
Tiếp theo em nhận thấy trang web mình cần craw chỉ cần thay đổi số trong {} là có thể
chuyển đến page khác. Mục CNTT- phần mềm có 49 page. Nên em cho chạy một
vòng lặp từ 1 đến 50 để lấy được đường link của 49 page.
7
Đồ án tin học
Giáo viên hướng dẫn: Nguyễn Mạnh Tuấn
Dùng Qtdesign em design được ứng dụng “app”. Sau đó đưa giao diện này vào python
được code như sau:
8
Đồ án tin học
Giáo viên hướng dẫn: Nguyễn Mạnh Tuấn
Sau đó em thêm dịng lệnh: “clicked=lambda:self.search_it())” vào dịng 44 :
self.search_button=QtWidgets.QPushButton(self.groupBox,clicked=lambda:self.search_it())
để khi ấn vào nút search trên màn hình sẽ đưa tới hàm “search_it()”.
Tương tự với các nút “delete data” và “print data”.
self.delete_button = QtWidgets.QPushButton(self.groupBox,clicked=lambda:self.delete_it())
self.print_button = QtWidgets.QPushButton(self.groupBox,clicked=lambda:self.print_it())
Chạy hàm search_it(): đầu tiên em lấy dữ liệu trong từng link đã lấy được ở đầu bài.
Sau đó lấy từng dữ liệu ở tường việc bao gồm tên công việc: “job name”, tên công ty:
“company name”, lương: “salary”, địa chỉ: “location”, link đường dẫn đến công việc
cụ thể: “ More infor”. Sau khi lấy được thơng tin thì gán vào “str1” và “str2”. Với
“str1” dùng để xuất ra file csv và “str2” dùng để in ra màn hình “app”.
Hàm delete_it() dùng để xóa mọi thơng tin đã in ra trên màn hình.
9
Đồ án tin học
Giáo viên hướng dẫn: Nguyễn Mạnh Tuấn
Hàm print_it() dùng để xuất thơng tin đã tìm kiếm được trên màn hình ra file csv. Để thơng
tin sau mỗi lần in ra nhiều file khác nhau thì em dùng biến “self.i” đã được khai báo ở đầu
class để xuất ra các file csv khác nhau sau mỗi lần in ra csv bằng cách tăng biến self.i lên mỗi
đơn vị.
Những dòng lệnh cuối cùng để hiển thị tên gọi và chạy được giao diện phần mêm.
10
Đồ án tin học
Giáo viên hướng dẫn: Nguyễn Mạnh Tuấn
2.2. Giao diện chương trình
Phần mềm của em có 3 chức năng chính:
_Tìm kiếm thơng tin việc làm theo 3 danh mục chính “job name”, “company name”,
“location” bằng cách nhập thơng tin tìm kiếm vào 3 text rồi khởi động bằng ấn nút
search”
_ Xóa thơng tin ở “Print box” để thực hiện thêm lần tìm kiếm khác.
_ Xuất thơng tin ra file csv nếu cảm thấy thông tin cần in là cần thiết.
11
Đồ án tin học
Giáo viên hướng dẫn: Nguyễn Mạnh Tuấn
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN
1) Nội dung lý thuyết được củng cố:
_ Kỹ năng sử dụng python được củng cố.
_ Kỹ năng sử dụng Microsoft Office Word.
2) Các kỹ năng học được:
_ Học được cách sử dụng phần mềm design Qtdesign và thư viện Qtpy5, cách
crawl một web đơn giản.
_ Học được cách viết báo cáo một phần mềm.
_ Học được kỹ năng tự học làm một phần mềm đơn giản qua nhiều kênh thông
tin như sách vở, youtube, bạn bè và thầy cô.
3) Những kinh nghiệm thực tiễn học hỏi được:
_ Tập trung nhiều thời gian hơn cho việc tìm hiểu thu thập thơng tin.
_Chọn lựa hướng phân tích.
4) Hướng phát triển:
_ Tiếp tục thực hiện và phát triển các chức năng mở rộng còn thiếu.
_ Xây dựng chương trình có thể thực thi trên nhiều hệ điều hành.
5) Các phần chưa làm được :
_ Giao diện than thiện với ngườ làm.
_ Tối ưu code, chương trình ngắn gọn dễ đọc hiểu hơn.
12
Đồ án tin học
Giáo viên hướng dẫn: Nguyễn Mạnh Tuấn
TÀI LIỆU THAM KHẢO
[1] Python cơ bản - Võ Tuấn Duy.
[2] Automate the Boring Stuff with Python-Al Sweigart-2017.
[3] Learning Python 5th Edition-Mark Lutz-2013.
[4] Hướng dẫn python cơ
bản
[5] />v=XVv6mJpFOb0&fbclid=IwAR2LW6Uuq1RhpI47UH0vmt8R8BtDbrYyIqpEpbj6Y
R2HYMdd3GnKY1h40Pc- Hướng dẫn crawl data 1 web cơ bản
[6] />v=rZcdhles6vQ&list=PLCC34OHNcOtpmCA8s_dpPMvQLyHbvxocY – Hướng dẫn
tạo một giao diện phần mềm đơn giản trên Qtdesigner
13
Đồ án tin học
Giáo viên hướng dẫn: Nguyễn Mạnh Tuấn
PHỤ LỤC
Hướng dẫn cài đặt và sử dụng chương trình Qtdesigner và thư viện Pyqt5:
/> />
14