Professional Documents
Culture Documents
B22DTCN055 VuMyHanh ThucTapCoSo
B22DTCN055 VuMyHanh ThucTapCoSo
MỤC LỤC......................................................................................................................................................1
LỜI CẢM ƠN.................................................................................................................................................2
LỜI NÓI ĐẦU................................................................................................................................................3
CHƯƠNG I: GIỚI THIỆU CHUNG..............................................................................................................4
1.1. Lý do chọn đề tài......................................................................................................................... 4
1.2. Giới thiệu về ngôn ngữ lập trình C#................................................................................................ 4
CHƯƠNG II: PHÂN TÍCH, THIẾT KẾ ỨNG DỤNG QUÉT EMAIL & THÔNG TIN DOANH NGHIỆP
TỪ WEBSITE SỬ DỤNG C#........................................................................................................................6
2.1. Giới thiệu bài toán....................................................................................................................... 6
2.2. Chức năng cơ bản của ứng dụng................................................................................................. 6
2.3. Biểu đồ User Case....................................................................................................................... 6
2.4. Biểu đồ tuần tự............................................................................................................................ 7
2.5. Biểu đồ trạng thái........................................................................................................................ 9
CHƯƠNG III: KẾT QUẢ CÀI ĐẶT...........................................................................................................10
3.1. Cài đặt ứng dụng....................................................................................................................... 10
3.2. Chi tiết các bước thực hiện........................................................................................................ 10
3.3 Giao diện khi khởi chạy ứng dụng............................................................................................. 21
KẾT LUẬN..................................................................................................................................................24
TÀI LIỆU THAM KHẢO............................................................................................................................25
2
LỜI CẢM ƠN
----
Sau thời gian học tập, nghiên cứu tại Học viện Công nghệ Bưu chính viễn
thông, được sự giúp đỡ và hỗ trợ của các thầy cô giảng dạy, các thầy cô trong khoa
Công nghệ thông tin, đến nay em đã hoàn thành xong bản báo cáo môn học Thực
tập cơ sở với đề tài: Xây dựng Ứng dụng quét email & thông tin doanh nghiệp từ
website sử dụng C#.
Để có được kết quả này, em xin gửi lời cảm ơn chân thành tới các thầy giáo,
cô giáo khoa Công Nghệ Thông Tin và toàn thể cán bộ, công nhân viên của Học
Viện Công Nghệ Bưu Chính Viễn Thông đã tạo điều kiện để em được học tập và
nghiên cứu. Đặc biệt là thầy Nguyễn Đình Hiến đã tận tình hướng dẫn, giúp đỡ,
chỉ bảo em trong suốt thời gian thực hiện.
Đồng thời, em cũng xin cảm ơn bạn bè, đồng nghiệp đã gắn bó, chia sẻ rất
nhiều kinh nghiệm, những kiến thức quý giá để báo cáo của em có thể hoàn thành
một cách thành công nhất.
Tuy nhiên, do thời gian có hạn và kinh nghiệm còn chưa nhiều nên trong quá
trình xây dựng ứng dụng, em không thể tránh khỏi những sai xót.
Em rất mong nhận được sự thông cảm và góp ý của quý thầy giáo, cô giáo.
Em xin chân thành cảm ơn!
Hà Nội, ngày 20 tháng 04 năm 2023
Sinh viên thực hiện
Vũ Mỹ Hạnh
Xây dựng ứng dụng quét email & thông tin doanh nghiệp từ website sử dụng C#
3
Xây dựng ứng dụng quét email & thông tin doanh nghiệp từ website sử dụng C#
4
Xây dựng ứng dụng quét email & thông tin doanh nghiệp từ website sử dụng C#
5
Xây dựng ứng dụng quét email & thông tin doanh nghiệp từ website sử dụng C#
6
C# là ngôn ngữ lập trình mã nguồn mở,vì vậy C# là miễn phí với tất cả mọi
người, đồng thời mọi người đều có thể cùng tham gia phát triển, đề xuất thiết
kế ngôn ngữ C#
C# là ngôn ngữ đa nền tảng vì vậy có thể biên dịch trên nhiều nền tảng máy
tính khác nhau (Windows, Linux, MacOS)
C# có hiệu suất cao và tốc độ thực thi nhanh do sử dụng trình biên dịch trung
gian (CLR), điểm cộng nữa là tốc độ phát triển phần mềm nhanh chóng so
với đa số các ngôn ngữ hiện tại.
C# có IDE Visual Studio cùng nhiều plug-in vô cùng mạnh mẽ. Ngoài ra có
thể viết C# bằng bất kỳ text editor nào khác như Visual Studio Code, Vim,
Netbeam...
C# có cấu trúc khá gần gũi với các ngôn ngữ lập trình truyền thống, song
cũng được bổ sung các yếu tố mang tính hiện đại nên dễ dàng tiếp cận cho
người mới học và học nhanh với C#.
C# có cộng đồng nhà phát triển vô cùng lớn mạnh.
C# được phát triển và cải tiến không ngừng với tần suất 1 phiên bản/ 1 năm,
đáp ứng các mong muốn cải thiện, cải tiến cho phù hợp với nhu cầu công
nghệ của các nhà phát triển.
C# có tài liệu tham khảo và hướng dẫn vô cùng phong phú và chất lượng,
đồng thời có các buổi hội thảo giới thiệu tính năng mới và định hướng phát
triển ngôn ngữ trong tương lai.
C# và.NET được đánh giá là có design tốt, vì vậy cú pháp và logic rất nhất
quán, mã nguồn C# dễ đọc và mở rộng.
C# được thiết kế và phát triển bởi Microsoft nên rất được Microsoft quan
tâm và hỗ trợ.
Xây dựng ứng dụng quét email & thông tin doanh nghiệp từ website sử dụng C#
7
CHƯƠNG II: PHÂN TÍCH, THIẾT KẾ ỨNG DỤNG QUÉT EMAIL &
THÔNG TIN DOANH NGHIỆP TỪ WEBSITE SỬ DỤNG C#
2.1. Giới thiệu bài toán
Ứng dụng quét emai và thông tin doanh nghiệp từ website là một ứng dụng
có thể nói là cần thiết đối với cá nhân, công ty, doanh nghiệp có sử dụng các dịch
vụ marketing để quảng bá sản phẩm, dịch vụ của mình tới người tiêu dùng.
2.2. Chức năng cơ bản của ứng dụng
- Quét toàn bộ email có trong 1 website
- Xuất danh sách email ra file text
- Quét toàn bộ thông tin doanh nghiệp có trong 1 website
- Xuất kết quả thông tin doanh nghiệp quét được ra file excel
Xây dựng ứng dụng quét email & thông tin doanh nghiệp từ website sử dụng C#
8
Xây dựng ứng dụng quét email & thông tin doanh nghiệp từ website sử dụng C#
9
Xây dựng ứng dụng quét email & thông tin doanh nghiệp từ website sử dụng C#
10
được từ website, hiển thị toàn bộ thông tin doanh nghiệp lấy được từ
website)
Xây dựng ứng dụng quét email & thông tin doanh nghiệp từ website sử dụng C#
13
Xây dựng ứng dụng quét email & thông tin doanh nghiệp từ website sử dụng C#
14
{
Log(email);
//Nếu list mail tổng không tồn tại email này thì thêm vào list tổng
if (!listMail.Contains(email))
{
listMail.Add(email);
}
}
Log("Email tìm được: " + listMail.Count);
}
catch (Exception ex)
{
//Lỗi mạng hoặc bị chặn
txtLog.Text = "Lỗi" + ex.Message;
}
}
Trong dự án này tôi sử dụng Notpad++ để lưu toàn bộ email lọc được từ
website
Xây dựng ứng dụng quét email & thông tin doanh nghiệp từ website sử dụng C#
15
}
else
{
MessageBox.Show("Không có dữ liệu");
}
//Xây dựng link để lấy chính xác trang cần lấy (page=2)
UriBuilder uriBuilder = new UriBuilder(txtUrl.Text);
var query = HttpUtility.ParseQueryString(uriBuilder.Query);
query["page"] = i.ToString();
uriBuilder.Query = query.ToString();
//cho chrome load trang
try
{
driver.Url = uriBuilder.ToString();
}
catch(Exception ex)
{
}
//Đợi khoảng 2 để cho trang load hết các thành phần ví dụ như javascript
Thread.Sleep(2000);
Xây dựng ứng dụng quét email & thông tin doanh nghiệp từ website sử dụng C#
16
break;
}
}
//Quét xong, in ra tổng số doanh nghiệp quét được
Log("Tổng số Doanh Nghiệp: " + listUrls.Count);
//Đóng chrome
driver.Quit();
}
Xây dựng ứng dụng quét email & thông tin doanh nghiệp từ website sử dụng C#
17
driver.Url = txtUrl.Text;
}
catch (Exception ex)
{
//Biến đếm lỗi, nếu quá 3 lỗi thì thôi không quét nữa
int dem_loi=0;
Xây dựng ứng dụng quét email & thông tin doanh nghiệp từ website sử dụng C#
18
try
{
//truy cập vào link của doanh nghiệp
driver.Url = url;
}
catch(Exception ex)
{
//Lỗi xảy ra có thể mạng kém hoặc url không tồn tại
}
Xây dựng ứng dụng quét email & thông tin doanh nghiệp từ website sử dụng C#
19
if (ten != "")
{
//Nếu lấy được tên doanh nghiệp thì sẽ thêm doanh nghiệp đó vào list (các trường khác có thể
thiếu)
DoanhNghiep dn = new DoanhNghiep(ten, email,url,diachi,sdt,hotline,daidien);
listDN.Add(dn);
}
}
catch (Exception)
{
//tăng biến dem_loi nếu xảy ra lỗi
dem_loi++;
Log("Lỗi lấy thông tin Doanh nghiệp");
//Dừng quét nếu gặp nhiều lỗi
if (dem_loi > 3)
{
Log("Tạm dừng quét do gặp nhiều lỗi");
break;
}
}
Log("----------------------------------------");
}
//Đóng chrome
driver.Quit();
Log("Lấy data xong");
}
Xây dựng ứng dụng quét email & thông tin doanh nghiệp từ website sử dụng C#
20
{
Log("Chưa có dữ liệu! Vui lòng get Data trước");
return;
}
//Gọi hàm lưu excel
SaveExcel();
Xây dựng ứng dụng quét email & thông tin doanh nghiệp từ website sử dụng C#
21
}
//Lưu file
byte[] asByteArray = excelPackage.GetAsByteArray();
File.WriteAllBytes(filepath, asByteArray);
}
if (dr == DialogResult.Yes)
{
// Nếu Yes => mở file
Process.Start("excel.exe", filepath);
}
}
catch (Exception ex)
{
//Lỗi khi lưu file
MessageBox.Show("Có lỗi khi lưu file!");
Log(ex.Message);
Log(ex.StackTrace);
}
}
}
}
Xây dựng ứng dụng quét email & thông tin doanh nghiệp từ website sử dụng C#
22
Ví dụ: Thực hiện quét email và lấy thông tin doanh nghiệp của 5 trang đầu tiên của
website http://trangvangvietnam.com ta thực hiện như sau:
Quét Email
Khi click “Lấy Email” thì toàn bộ email của 5 trang đầu tiên của website đó được
hiển thị trong phần RichTextBox (txtLog) và thông báo số email tìm được là 181.
Màn hình ví dụ bên dưới
Xây dựng ứng dụng quét email & thông tin doanh nghiệp từ website sử dụng C#
23
Hình 11 Giao diện khi thực hiện quét email 5 trang đầu của website
Khi nhấn nút “Lưu file” thì toàn bộ 181 email tìm được ở trên sẽ được xuất ra
Notpad++. Sau đó thực hiện lưu file trên Notpad++ (File->Save as).
Xây dựng ứng dụng quét email & thông tin doanh nghiệp từ website sử dụng C#
24
=>>Thực hiện lưu file trên Notpad++. Vậy là xong bước lấy Email
Khi click “Lấy danh sách” thì toàn bộ url của các doanh nghiệp có trong 5 trang
đầu của website được lấy và hiện thị trên RichTextBox (txtLog2), số lượng doanh
nghiệp tìm được từ trang 1 đến trang 5 của website được hiển thi trên txtLog
Hình 13 Giao diện khi nhấn "Lấy danh sách" của 5 trang đầu tiên website
Sau đó thực hiện nhấn nút “Lấy data” thì toàn bộ thông tin của từng doanh nghiệp
được hiển thị ra txtLog bao gồm:
- Tên doanh nghiệp
- Email
- Địa chỉ
- Hotline
Khi thấy có dòng “Lấy data xong” có nghĩa là toàn bộ thông tin doanh nghiệp của 5
trang đầu website đã được quét xong
Xây dựng ứng dụng quét email & thông tin doanh nghiệp từ website sử dụng C#
25
Sau khi chọn Save màn hình hiện thị ra thông báo “Xuất excel thành công” và hỏi
có muốn mở file đó ra không.
Xây dựng ứng dụng quét email & thông tin doanh nghiệp từ website sử dụng C#
26
Chọn Yes file excel lưu thông tin doanh nghiệp sẽ được mở lên và có giao diện như
sau:
Xây dựng ứng dụng quét email & thông tin doanh nghiệp từ website sử dụng C#
27
KẾT LUẬN
Ứng dụng “Quét email & thông tin doanh nghiệp sử dụng C#” giúp cho cá
nhân, công ty, doanh nghiệp dễ dàng, tối ưu và tiết kiệm hơn trong việc marketing
sản phẩm, dịch vụ.
Với thời gian và năng lực có hạn, trong một thời gian em đã nghiên cứu và
sử dụng ngôn ngữ lập trình C# để xây dựng ứng dụng “Quét email & thông tin
doanh nghiệp sử dụng C#”. Trong quá trình thực hiện, không thể tránh khỏi những
thiếu sót. Kính mong sự thông cảm, góp ý và bổ sung của các thầy cô và các bạn để
ứng dụng ngày càng hoàn thiện hơn.
Em xin chân thành cảm ơn!
Xây dựng ứng dụng quét email & thông tin doanh nghiệp từ website sử dụng C#
28
Xây dựng ứng dụng quét email & thông tin doanh nghiệp từ website sử dụng C#