SlideShare a Scribd company logo
1 of 62
TRƯỜNG ĐẠI HỌC GIAO THÔNG VẬN TẢI TP. HỒ CHÍ MINH
KHOA CÔNG NGHỆ THÔNG TIN
THỰC TẬP TỐT NGHIỆP
Phát Triển Ứng Dụng Tự Động Lấy Mã Hàng VàThông Tin
Người Mua Hàng Từ Comment
Tải bài mẫu qua zalo 0936.885.877
Tham khảo dịch vụ làm báo cáo thực tập
luanvantrithuc.com
Ngành: Công nghệ thông tin
Chuyên ngành: Công nghệ thông tin
Giảng viên hướng dẫn : ThS. Đặng Nhân Cách
Sinh viên thực hiện :
Triệu Kim Sơn 1651120116 CN16B
Lê Thanh Tài 1651120117 CN16B
TP. Hồ Chí Minh, ngày 05 tháng 05 năm 2020
i
TRƯỜNG ĐẠI HỌC GIAO THÔNG VẬN TẢI TP. HỒ CHÍ MINH
KHOA CÔNG NGHỆ THÔNG TIN
---------------------------------------
TRIỆU KIM SƠN
LÊ THANH TÀI
PHÁT TRIỂN ỨNG DỤNG TỰ ĐỘNG LẤY MÃ HÀNG
VÀ THÔNG TIN NGƯỜI MUA HÀNG TỪ COMMENT
NGÀNH: CÔNG NGHỆ THÔNG TIN
CHUYÊN NGÀNH: CÔNG NGHỆ THÔNG TIN
BÁO CÁO THỰC TẬP TỐT NGHIỆP
NGƯỜI HƯỚNG DẪN
ThS. Đặng Nhân Cách
TP. HỒ CHÍ MINH – 2020
ii
LỜI CAM ĐOAN
Chúng em bằng những sự cố gắng và nỗ lực tìm hiểu, học hỏi của bản thân
mình. Với những tìm tòi từ thực tế và với những kiến thức đã học chúng em đã
nghiên cứu về quy trình lấy những comment trên mạng xã hội Facebook hiện nay
bằng Graph-API của chính Facebook cung cấp cho những nhà phát triển Facebook
muốn tải dữ liệu vào hoặc lấy dữ liệu ra khỏi nền tảng của Facebook, nhóm chúng
em cũng đã phát triển một ứng dụng lấy mã hàng và thông tin của người mua hàng
từ comment trên chính fanpage của nhóm ở trên mạng xã hội Facebook ngày nay.
Từ những ngôn ngữ C, C++, C#,… thư viện Windows Forms,… đã học và những
tham khảo từ anh chị khoá trước, thông tin trên mạng đã giúp nhóm chúng em
hoàn thành tốt TTTN của mình. Chúng em xin chịu hoàn toàn trách nhiệm với
những gì mình đã viết.
Mặc dù đã cố gắng hoàn thành đề tài với tất cả sự nỗ lực của bản thân, nhưng
chắc chắn không thể tránh khỏi những thiếu sót nhất định, kính mong sự cảm thông
và tận tình chỉ bảo của quý Thầy Cô.
Chúng em xin chân thành cảm ơn.
TP.HCM, ngày 05 tháng 05 năm 2020
Nhóm sinh viên thực hiện
Triệu Kim Sơn
Lê Thanh Tài
iii
MỤC LỤC
LỜI CAM ĐOAN.......................................................................................................................I
MỤC LỤC ...............................................................................................................................III
DANH MỤC HÌNH ẢNH ........................................................................................................V
DANH MỤC CÁC TỪ VIẾT TẮT ....................................................................................VIII
LỜI MỞ ĐẦU ............................................................................................................................1
CHƯƠNG 1: GIỚI THIỆU ......................................................................................................2
1.1 Động cơ thực hiện đề tài......................................................................................................2
1.2 Mục tiêu của đề tài...............................................................................................................3
1.3 Giới hạn của đề tài...............................................................................................................3
1.4 Cấu trúc của đề tài...............................................................................................................4
1.5 Phương pháp nghiên cứu ....................................................................................................4
CHƯƠNG 2: CƠ SỞ LÝ THUYẾT.........................................................................................5
2.1 Giới thiệu API ......................................................................................................................5
2.2 Tổng quan về Facebook.......................................................................................................7
2.1.1 Nền tảng cho nhà phát triển của Facebook .............................................................8
2.1.2 Giới thiệu Facebook Graph-API ..............................................................................9
2.1.2.1 Nút (Node) ........................................................................................................12
2.1.2.2 Trường (Field)..................................................................................................13
2.1.2.3 Cạnh (Edge)......................................................................................................13
2.1.2.4 HTTP và URL..................................................................................................14
2.1.2.5 Access Token ....................................................................................................15
2.1.2.6 Kết quả Facebook trả về .................................................................................16
2.1.2.7 Debugging.........................................................................................................17
2.1.3 Get Access Token Facebook ...................................................................................18
2.1.3.1 Oauth 2.0 ..........................................................................................................18
2.1.3.2 Các cách lấy Access Token..............................................................................18
2.3 Sử dụng Graph-API để lấy comments từ fanpage cá nhân ...........................................26
CHƯƠNG 3: TRIỂN KHAI HỆ THỐNG.............................................................................30
3.1 Lấy dữ liệu Comment........................................................................................................30
iv
3.2 Giới thiệu dữ liệu ...............................................................................................................34
3.3 Tiền xử lý dữ liệu ...............................................................................................................36
3.4 Xử lý dữ liệu Comment .....................................................................................................39
3.4.1 Giới thiệu .....................................................................................................................39
3.4.2 Quy trình lấy những comment đi trích lọc...............................................................39
3.5 Trích lọc các đặc trưng......................................................................................................41
3.5.1 Giải thuật trích lọc......................................................................................................41
3.5.2 Lấy mã hàng từ Comment .........................................................................................41
3.5.3 Lấy số lượng từ Comment..........................................................................................42
3.5.4 Lấy Email từ Comment..............................................................................................43
3.5.5 Lấy số điện thoại từ Comment...................................................................................44
3.6 Kết quả dữ liệu sau khi được xử lý ..................................................................................44
CHƯƠNG 4: XÂY DỰNG VÀ ĐÁNH GIÁ HỆ THỐNG ...................................................46
4.1 Giới thiệu ............................................................................................................................46
4.2 Cài đặt hệ thống.................................................................................................................46
4.3 Kết quả................................................................................................................................50
4.4 Đánh giá..............................................................................................................................50
CHƯƠNG 5: KẾT LUẬN.......................................................................................................51
5.1 Kết luận...............................................................................................................................51
5.2 Hướng mở rộng phát triển................................................................................................51
TÀI LIỆU THAM KHẢO.........................................................................................................0
v
DANH MỤC HÌNH ẢNH
Hình 2. 1: Hoạt động của API................................................................................6
Hình 2. 2: Chính sách mới của Facebook về việc truy vấn bình luận ...................8
Hình 2. 3: Facebook tạm dừng xác nhận ứng dụng cá nhân vì đại dịch COVID-
19............................................................................................................................9
Hình 2. 4: Đồ thị xã hội........................................................................................10
Hình 2. 5: Mô hình lấy dữ liệu từ Facebook Graph-API.....................................11
Hình 2. 6: Giao diện của trình khám phá API đồ thị của Facebook ....................12
Hình 2. 7: Truy vấn đối tượng sử dụng trình khám phá API đồ thị.....................12
Hình 2. 8: Truy vấn đến trường friend của đối tượng..........................................13
Hình 2. 9: Truy vấn đến trường friend đối tượng gốc và trường like của những
đối tượng trong trường friend của đối tượng gốc.................................................14
Hình 2. 10: HTTP request....................................................................................14
Hình 2. 11: Tạo mã truy cập thử nghiệm bằng trình khám phá API đồ thị .........15
Hình 2. 12: Người dùng được phép từ chối những quyền mà họ không muốn ...16
Hình 2. 13: Kết quả trả về khi lấy bình luận từ một post của fanpage cá nhân ...17
Hình 2. 14: Thông báo từ debugger .....................................................................17
Hình 2. 15: Sơ đồ hoạt động của OAuth 2.0........................................................18
Hình 2. 16: Tạo ứng dụng mới trong phần nhà phát triển của facebook .............19
Hình 2. 17: Giao diện ứng dụng sau khi tạo ........................................................19
Hình 2. 18: Thêm quyền và tính năng vào yêu cầu của ứng dụng.......................20
Hình 2. 19: Xét duyệt ứng dụng...........................................................................20
Hình 2. 20: Thông tin về ứng dụng......................................................................21
Hình 2. 21: Sơ đồ quy trình đăng nhập ................................................................21
Hình 2. 22: URL trang đăng nhập facebook ........................................................22
Hình 2. 23: Giao diện đăng nhập facebook..........................................................23
Hình 2. 24: URL trả về.........................................................................................23
vi
Hình 2. 25: HTTP get request..............................................................................23
Hình 2. 26: Kết quả trả về của request access token............................................24
Hình 2. 27: Lệnh gọi đến graph api .....................................................................24
Hình 2. 28: Mục công cụ của nhà phát triển facebook ........................................25
Hình 2. 29: Trang công cụ hổ trợ.........................................................................25
Hình 2. 30: Giao diện trình khám phá API đồ thị................................................26
Hình 2. 31: Ô mã truy cập....................................................................................26
Hình 2. 32: Chọn quyền quản lí page ..................................................................27
Hình 2. 33: Chọn page để cho phép sử dụng.......................................................27
Hình 2. 34: Cho phép ứng quản lí page ...............................................................28
Hình 2. 35: Id của page........................................................................................28
Hình 2. 36: Id của post.........................................................................................28
Hình 2. 37: Kết quả json của yêu cầu HTTP GET ..............................................29
Hình 3. 1: Thời gian đăng lên của Post [7]..........................................................31
Hình 3. 2: URL có chứa id...................................................................................31
Hình 3. 3: Tạo ứng có tên là Get_comment.........................................................32
Hình 3. 4: Tạo access token .................................................................................32
Hình 3. 5: HTTP GET request để lấy dữ liệu ......................................................33
Hình 3. 6: Ví dụ thư viện newtonson..................................................................36
Hình 3. 7: Ví dụ nội dung comment lấy về được.................................................37
Hình 3. 8: Ví dụ người dùng nhập .......................................................................38
Hình 3. 9: Ví dụ xử lý dữ liệu comment..............................................................38
Hình 3. 10: Ví dụ xử lý dữ liệu comment............................................................40
Hình 3. 11: Xử lý lấy mã hàng.............................................................................42
Hình 3. 12: Xử lý lấy số lượng ............................................................................43
Hình 3. 13: Xử lý lấy Email.................................................................................43
Hình 3. 14: Xử lý lấy số điện thoại......................................................................44
vii
Hình 3. 15: Dữ liệu xuất ra file CSV ...................................................................45
Hình 4. 1: Cài đặt hệ thống 1...............................................................................47
Hình 4. 2: Cài đặt hệ thống 2...............................................................................47
Hình 4. 3: Cài đặt hệ thống 3...............................................................................48
Hình 4. 4: Cài đặt hệ thống 4...............................................................................48
Hình 4. 5: Cài đặt hệ thống 5...............................................................................49
Hình 4. 6: Cài đặt hệ thống 6...............................................................................49
Hình 4. 7: Giao diện hệ thống..............................................................................50
viii
DANH MỤC CÁC TỪ VIẾT TẮT
API Application Programming Interface
HTTP HyperText Transfer Protocol
WWW World Wide Web
URL Universal Resource Locator
JSON JavaScript Object Notation
ID Identification
Oauth Open với Authetication
GET Gửi yêu cầu để lấy tài nguyên hoặc đọc thông tin từ
máy chủ
GUI Graphical User Interface
CSV Comma Separated Value
1
LỜI MỞ ĐẦU
Ngày nay, ứng dụng công nghệ thông tin và việc tin học hoá được xem là
một trong những yếu tố mang tính quyết định trong hoạt động của các chính phủ,
tổ chức, cũng như của các công ty, nó đóng vai trò hết sức quan trọng, có thể tạo
ra những bước đột phá mạnh mẽ.
Cùng với sự phát triển không ngừng về kỹ thuật máy tính và mạng điện tử,
công nghệ thông tin cũng được những công nghệ có đẳng cấp cao và lần lượt chinh
phục hết đỉnh cao này đến đỉnh cao khác. Mạng Internet là một trong những sản
phẩm có giá trị hết sức lớn lao và ngày càng trở thành một công cụ không thể
thiếu, là nền tảng chính cho sự truyền tải, trao đổi thông tin trên toàn cầu.
Giờ đây, mọi việc liên quan đến thông tin trở nên thật dễ dàng cho người sử
dụng: chỉ cần có một máy tính kết nối Internet và một dòng dữ liệu truy tìm thì
gần như lập tức,… cả thế giới về vấn đề mà bạn đang quan tâm sẽ hiện ra, có đầy
đủ thông tin, hình ảnh và thậm chí đôi lúc có cả những âm thanh nếu bạn cần.
Bằng Internet, chúng ta đã thực hiện được nhiều công việc với tốc độ nhanh
hơn và chi phí thấp hơn nhiều so với cách thức truyền thống. Chính điều này, đã
thúc đẩy sự khai sinh và phát triển của mạng xã hội điện tử trên khắp thế giới, làm
biến đổi đáng kể bộ mặt văn hoá, nâng cao chất lượng cuộc sống con người.
Mạng xã hội không chỉ mang lại những thông tin cập nhật hàng ngày trong
nước, thế giới trong nhiều lĩnh vực mà còn đăng tải những thông chia sẻ bạn bè và
người thân với nhau. Ngoài ra, mạng xã hội còn có thể quảng bá giới thiệu sản
phẩm từ những doanh nghiệp, cửa hàng hay shop cá nhân,… Từ những lợi ích chia
sẻ thông tin trên mạng xã hội mang lại đã sinh ra một cách bán hàng online trên
mạng xã hội. Vì vậy nhóm chúng em đã lựa chọn và thực hiện đề tài “Phát triển
ứng dụng tự động lấy mã hàng và thông tin người mua hàng từ comment”.
2
CHƯƠNG 1: GIỚI THIỆU
1.1 Động cơ thực hiện đề tài
Khai phá tài nguyên mạng xã hội là một lĩnh vực quan trọng và là một phần
của nhiệm vụ trong ngành công nghệ thông tin. Web 2.0 đã dẫn đến sự xuất hiện
của blog, diễn đàn và mạng xã hội trực tuyến cho phép người dùng thảo luận về
bất kỳ chủ đề nào và chia sẻ ý kiến của họ về nó. Ví dụ: phàn nàn về một sản phẩm
mà họ đã mua, tranh luận về các vấn đề hiện tại hoặc bày tỏ quan điểm chính trị
của họ hoặc đặt mua các sản phẩm trực tiếp trên bình luận. Khai thác thông tin
người dùng như vậy là chìa khóa cho hoạt động của nhiều ứng dụng (như hệ thống
đề xuất), hơn nữa trong việc khai thác này có giúp các doanh nghiệp nhỏ lẻ có thể
quảng bá, buôn bán một cách nhanh chóng và thuận lợi cho chính chủ doanh
nghiệp cũng như khách hàng. Bên cạch đó, các doanh nghiệp lớn và vừa cũng có
thể lợi dụng việc khai thác thông tin ấy để biết được xu thế hàng hóa, tạo sự kiện
cũng như quản lý những thông tin cần thiết. Tuy nhiên, việc phân tích các thông
tin trên mạng xã hội thành các thông tin có ích cho doanh nghiệp một cách tự động
là một nhiệm vụ không quá dễ dàng.
Cùng với sự phát triển vượt bật của các công nghệ, việc bảo vệ thông tin người
dùng cũng trở thành vấn đề cấp bách của các công ty điều hành mạng xã hội. Họ
phải thắt chặt các yêu cầu cũng như chính sách về khai thác tài nguyên trên mạng
xã hội của họ. Điều này làm cho việc khai thác cũng như phân tích tài nguyên gặp
thêm nhiều khó khăn.
Trong nghiên cứu này, nhóm xây dựng một phần mềm để có thể lấy được các
comments từ fanpage của bản thân và phân tích chúng để lọc ra các thông tin có
giá trị để hỗ trợ việc bán hàng online cho các doanh nghiệp nhỏ lẻ như số điện
3
thoại, mã hàng, email, số lượng hàng đặt. Bên cạnh đó, nhóm sẽ nghiên cứu và sử
dụng các công cụ hỗ trợ có sẵn mà các công ty mạng xã hội làm để giúp các nhà
phát triển trên nền tảng của mình.
Dựa vào kết quả nghiên cứu, nhóm có thể mở rộng sàng lọc các loại thông tin
khác trên mạng xã hội cũng như trên nhiều ngôn ngữ khác nhau.
1.2 Mục tiêu của đề tài
Mục tiêu đề tài nghiên cứu là xây dựng một ứng dụng giúp tự động lấy các
comments của một fanpage cá nhân trên mạng xã hội và lọc ra được những thông
tin cần thiết cho việc bán hàng online như mã hàng, số điện thoại, email, số lượng
hàng đặt.
Việc lấy comments tự động có nhiều cấp độ như sau:
Cấp độ 1: Sử dụng API của nhà cung cấp, người dùng phải cung cấp access
token và các thông tin cần thiết khác.
Cấp độ 2: Sử dụng API của nhà cung cấp và tự động lấy access token bằng
việc đăng nhập vào tài khoản mạng xã hội.
Cấp độ 3: Crawl thông tin của trang web lấy lấy thông tin comments từ đó.
Đối với nghiên cứu này, nhóm dừng lại ở cấp độ đầu tiên.
1.3 Giới hạn của đề tài
Các giới hạn của đề tài được đề cập sau đây:
 Tập trung vào lấy comment của mạng xã hội Facebook.
 Sử dụng các công cụ, API mà Facebook cung cấp để lấy được các
comments từ fanpage.
 Tập trung vào lấy comment của fanpage cá nhân.
4
 Phân tích comments để lấy ra được các thông tin có ích cho việc bán
hàng online.
1.4 Cấu trúc của đề tài
Phần trên là chương 1: Giới thiệu động cơ thực hiện cũng như mục tiêu và giới
hạn của đề tài nghiên cứu. Những phần còn lại của đề tài được trình bày như sau:
 Chương 2: Giới thiệu cơ sở lý thuyết và Facebook Graph-API dùng để
thực hiện trong nghiên cứu và phát triển mô hình.
 Chương 3: Triển khai hệ thống, hiện thực việc lấy comment từ Graph-
API của Facebook và những xử lý dữ liệu lấy về được để hiển thị trên
giao diện sau đó xuất ra file CSV.
 Chương 4: Cài đặt hệ thống, đánh giá kết quả chạy trên 300 comment
và hiệu quả việc xử lý trên những comment lấy được.
 Chương 5: Tổng kết, đánh giá và vạch hướng mở rộng cho tương lai của
hệ thống.
1.5 Phương pháp nghiên cứu
Sử dụng các lý thuyết trong cuốn sách “Mining the Social Web 3rd Edition”,
đồng thời sử dụng các tài liệu về graph API cũng như các công cụ hỗ trợ mà chính
Facebook tạo ra để hỗ trợ cho các nhà phát triển.
Bên cạnh đó nhóm còn sử dụng một số thư viện hỗ trợ miển phí để lập trình
C# như “newtonson”, “regex”,….
5
CHƯƠNG 2: CƠ SỞ LÝ THUYẾT
2.1 Giới thiệu API
Giao diện lập trình ứng dụng (tiếng Anh Application Programming
Interface, viết tắt API) [1] là một giao diện mà một hệ thống máy tính hay ứng
dụng cung cấp để cho phép các yêu cầu dịch vụ có thể được tạo ra từ các chương
trình máy tính khác, và/hoặc cho phép dữ liệu có thể được trao đổi qua lại giữa
chúng. Chẳng hạn, một chương trình máy tính có thể (và thường là phải) dùng các
hàm API của hệ điều hành để xin cấp phát bộ nhớ và truy xuất tập tin. Nhiều loại
hệ thống và ứng dụng thực hiện API, như các hệ thống đồ họa, cơ sở dữ liệu, mạng,
dịch vụ web, và ngay cả một số trò chơi máy tính. Đây là phần mềm hệ thống cung
cấp đầy đủ các chức năng và các tài nguyên mà các lập trình viên có thể rút ra từ
đó để tạo nên các tính năng giao tiếp người- máy như: các trình đơn kéo xuống,
tên lệnh, hộp hội thoại, lệnh bàn phím và các cửa sổ. Một trình ứng dụng có thể sử
dụng nó để yêu cầu và thi hành các dịch vụ cấp thấp do hệ điều hành của máy tính
thực hiện. Hệ giao tiếp lập trình ứng dụng giúp ích rất nhiều cho người sử dụng vì
nó cho phép tiết kiệm được nhiều thời gian tìm hiểu các chương trình mới, do đó
khích lệ mọi người dùng nhiều ứng dụng hơn.
Nói cách dễ hiểu API là một phần mềm trung gian cho phép hai ứng dụng
nói chuyện với nhau. Mỗi khi sử dụng một ứng dụng như Facebook, gửi tin nhắn
tức thì hoặc kiểm tra thời tiết trên điện thoại, có nghĩa là bạn đang sử dụng API.
Khi sử dụng một ứng dụng trên điện thoại di động, ứng dụng kết nối Internet
và gửi dữ liệu tới máy chủ. Sau đó, máy chủ lấy ra dữ liệu đó, diễn giải nó, thực
hiện các hành động cần thiết và gửi nó trở lại điện thoại. Ứng dụng sau đó sẽ diễn
giải dữ liệu đó và trình bày thông tin bạn muốn theo cách có thể đọc được.
6
Hình 2. 1: Hoạt động của API
Hãy tượng tưởng, trong một nhà hàng, chúng ta là khách hàng gọi món ăn
và nhà bếp là một phần “hệ thống” chuẩn bị thực đơn cho chúng ta. Cái còn thiếu
ở đây là liên kết quan trọng để truyền đạt yêu cầu của khách hàng tới nhà bếp và
chuyển đồ ăn tới bàn cho họ. Liên kết quan trọng này chính là bồi bàn hoặc API.
Người bồi bàn - API là người đưa tin, sẽ nhận yêu cầu gọi món và truyền đạt lại
tới nhà bếp - hệ thống. Sau khi thức ăn đã sẵn sàng, bồi bàn sẽ chuyển nó tới khách
hàng.
Đây là một ví dụ thực tế về API. Chúng ta có thể đã quen thuộc với quá
trình tìm kiếm các chuyến bay trực tuyến. Cũng giống như nhà hàng, bạn có nhiều
lựa chọn như các thành phố khác nhau, ngày khởi hành và ngày trở lại, v.v… Hãy
tưởng tượng bạn đang đặt vé máy bay trên một trang web của hãng hàng không.
Chúng ta có thể chọn địa điểm đến, ngày đi, ngày về, loại vé cũng như rất nhiều
lựa chọn khác. Để đặt chuyến bay, bạn cần tương tác với trang web của hãng hàng
không để truy cập vào cơ sở dữ liệu của họ và xem ghế còn trống trong một ngày
nhất định và giá cả như thế nào.
7
Tuy nhiên, nếu chúng ta không sử dụng trang web của hãng hàng không -
một kênh có quyền truy cập trực tiếp vào thông tin thì sao? Điều gì sẽ xảy ra nếu
bạn đang sử dụng dịch vụ du lịch trực tuyến, chẳng hạn như Kayak hoặc Expedia,
vậy làm thế nào để truy cập vào các cơ dữ liệu của hãng hàng không?
Trong trường hợp này, dịch vụ du lịch tương tác với API của hãng hàng
không, yêu cầu nó để lấy thông tin từ cơ sở dữ liệu của hãng hàng không. Sau đó
API sẽ chuyển phản hồi của hãng hàng không đến yêu cầu của khách hàng và
chuyển nó trở lại dịch vụ du lịch online, hiển thị cho bạn thông tin có liên quan
được cập nhật nhanh nhất.
Trong những năm qua, API thường được mô tả là giao diện kết nối chung
cho một ứng dụng. Tuy nhiên gần đây, API hiện đại có một số đặc điểm làm cho
chúng trở nên hữu ích và có giá trị hơn:
 Các API hiện đại tuân thủ các tiêu chuẩn (thường là HTTP và REST), có
tính dễ sử dụng và dễ hiểu và thân thiện với các nhà phát triển.
 API được xử lý giống như sản phẩm hơn là code. Chúng được thiết kế cho
các đối tượng cụ thể (ví dụ: nhà phát triển thiết bị di động).
 Vì chúng được chuẩn hóa nhiều hơn, nên tính bảo mật và quản trinh mạnh
hơi, cũng như được theo dõi và quản lý hiệu suất, quy mô tốt hơn.
 Như bất kỳ phần mềm sản phẩm nào khác, API hiện đại có chu kỳ phát triển
phần mềm (SDLC) riêng của nó về thiết kế, thử nghiệm, xây dựng, quản lý.
2.2 Tổng quan về Facebook
Facebook [2] là một trong những mạng xã hội lớn nhất thế giới, với hơn 1
tỉ người dùng hoạt động hàng ngày như cập nhật status, đăng bài viết, ảnh, trao đổi
tin nhắn, trò chuyện trực tuyến, check in những địa điểm có thật, mua sắm và gần
như mọi thứ khác.
8
Đứng từ góc độ lập trình viên Facebook sở hữu khối lượng thông tin khổng
lồ về cá nhân, nhóm, sản phẩm và cũng vô cùng thú vị. Bởi vì Facebook có cho
phép người dùng truy cập đến dữ liệu của họ để lấy những thông tin có giá trị ấy
bằng cách sử dụng API mà Facebook tạo ra. Tuy nhiên Facebook cũng đưa ra
những quy tắc về quyền riêng tư để bảo vệ người dùng của mình khỏi việc bị khai
thác thông tin cá nhân.
Hình 2. 2: Chính sách mới của Facebook về việc truy vấn bình luận
Như vậy, để có thể truy cập được dữ liệu của Facebook, người lập trình,
nghiên cứu phải có ít nhất là một tài khoản Facebook vẫn còn đang hoạt động.
2.1.1 Nền tảng cho nhà phát triển của Facebook
Facebook là một nền tảng vô cùng mạnh mẽ, có thể nói đây là nền tảng đầy đủ
và được tổ chức tốt nhất về việc lưu trữ thông tin, cả về chiều rộng và chiều sâu.
Về chiều rộng, nó rộng ở: lượng người dùng hiện tại của nó chiếm gần 1/4 dân số
thế giới và về chiều sâu, nó sâu về số lượng thông tin mà nó có được của bất kì
người dùng nào.
Với một lập trình viên, cách duy nhất để lấy được dữ liệu của Facebook là
đăng kí một ứng dụng và sử dụng ứng dụng đó như là một tấm vé để có thể tham
gia vào được nền tảng dành cho nhà phát triển của Facebook. Hơn nữa, dữ liệu mà
9
ứng dụng có thể lấy còn phụ thuộc vào cả sự cho phép của người dùng ứng dụng.
Để rõ hơn về điều này, Facebook đã đưa ra một loạt các tài liệu về chính sách sử
dụng nền tảng của Facebook [3] mà bất cứ lập trình viên muốn tham gia vào nền
tảng cũng phải tuân theo. Chính sách này luôn được cập nhật dựa vào tình hình
Facebook và thế giới.
Hình 2. 3: Facebook tạm dừng xác nhận ứng dụng cá nhân vì đại dịch COVID-
19
Bên cạnh các chính sách phải tuân theo, Facebook còn bắt buộc nhà phát
triển nộp ứng dụng của họ cho Facebook kiểm tra trước khi có thể sử dụng các
dịch vụ hỗ trợ như đăng nhập Facebook, tiếp thị,… hoặc sản phẩm dành cho doanh
nghiệp.
2.1.2 Giới thiệu Facebook Graph-API
Trước hết Facebook coi các mối quan hệ giữa các thực thể như là một "Đồ
thị xã hội" (Social Graph).
10
Hình 2. 4: Đồ thị xã hội
Graph-API: là cấu trúc dữ liệu dạng đồ thị khổng lồ đại diện các tương tác
xã hội, được tạo thành bởi những nút (node) và liên kết giữa chúng hay còn gọi là
cạnh (edge).
Facebook Graph-API [4] là cách chính để tải dữ liệu vào hoặc lấy dữ liệu
ra khỏi nền tảng Facebook. Đó là API dựa trên HTTP mà ứng dụng có thể dùng
để truy vấn dữ liệu, đăng tin mới, quản lý quảng cáo, tải ảnh lên và thực hiện nhiều
tác vụ khác theo lập trình.
11
Hình 2. 5: Mô hình lấy dữ liệu từ Facebook Graph-API
Graph API được đặt tên theo ý tưởng của một "đồ thị xã hội" - một đại diện
của các thông tin trên Facebook bao gồm:
 node (nút): Một cách cơ bản là những "thứ" người ta sử dụng, một
hình ảnh, một trang, một nhận xét trong Facebook
 edge (cạnh): Là các kết nối giữa những "thứ", chẳng hạn như kết nối
giữa hình ảnh và trang chứa ảnh đó, hoặc một ghi chú và bức ảnh
được ghi chú đó
 field (trường/lĩnh vực): Thông tin về những "thứ", chẳng hạn như
ngày sinh nhật của người sử dụng, hoặc tên của một trang.
12
Để làm quen được với Graph-API, Facebook đã hỗ trợ cho nhà phát triển
trình khám phá API đồ thị (Graph API Explorer) để cho người dùng thử nghiệm
những câu lệnh gọi API cũng như đưa ra những kết quả của lệnh gọi.
Hình 2. 6: Giao diện của trình khám phá API đồ thị của Facebook
2.1.2.1 Nút (Node)
Node là những đối tượng riêng biệt. Nói cách khác là những "thứ" người ta sử
dụng, một hình ảnh, một trang, một nhận xét trong Facebook.
Để có thể truy vấn đến một đối tượng trên Graph-API, trường (field ) ID phải
được cung cấp.
Hình 2. 7: Truy vấn đối tượng sử dụng trình khám phá API đồ thị
13
2.1.2.2 Trường (Field)
Trường là dữ liệu, thông tin của một đối tượng, chẳng hạn như ngày sinh
nhật của người sử dụng, hoặc tên của một trang. Có thể được truy vấn tới bằng
cách chỉnh sửa một số thông số truy vấn đến đối tượng.
Hình 2. 8: Truy vấn đến trường friend của đối tượng
2.1.2.3 Cạnh (Edge)
Cạnh là liên kết giữa của tập hợp đối tượng với một đối tượng chẳng hạn
như kết nối giữa hình ảnh và trang chứa ảnh đó, hoặc một ghi chú và bức ảnh được
ghi chú đó.
Có thể dùng cạnh để lấy tập hợp các đối tượng trên một đối tượng.
14
Hình 2. 9: Truy vấn đến trường friend đối tượng gốc và trường like của những
đối tượng trong trường friend của đối tượng gốc
Lưu ý: việc truy vấn như trên có thể không còn sử dụng được do những thay
đổi về chính sách của Facebook.
2.1.2.4 HTTP và URL
API đồ thị dựa trên giao thức HTTP nên API này hoạt động với bất kỳ ngôn
ngữ nào có thư viện HTTP.
Hầu như tất cả các yêu cầu đều được chuyển đến URL lưu trữ
graph.facebook.com. Ngoại lệ duy nhất yêu cầu tải video, sử dụng
graphvideo.facebook.com.
Hình 2. 10: HTTP request
15
2.1.2.5 Access Token
Access token là một loại mã cho phép người dùng cấp quyền cho những
phần mềm thứ ba truy cập vào dữ liệu của họ mà không cần thông qua các thông
tin bí mật như password của người dùng.
Mỗi mã truy cập đều có những quyền hạng riêng tùy thuộc vào cấu hình của
ứng dụng và sự cho phép của người dùng.
Hình 2. 11: Tạo mã truy cập thử nghiệm bằng trình khám phá API đồ thị
16
Hình 2. 12: Người dùng được phép từ chối những quyền mà họ không muốn
2.1.2.6 Kết quả Facebook trả về
JSON là chữ viết tắt của Javascript Object Notation, đây là một dạng dữ liệu
tuân theo một quy luật nhất định mà hầu hết các ngôn ngữ lập trình hiện nay đều
có thể đọc được. JSON có định dạng đơn giản, dễ dàng sử dụng và truy vấn hơn
XML rất nhiều nên tính ứng dụng của nó hiện nay rất là phổ biến.
Kết quả trả về của một truy vấn Graph API là dữ liệu thuộc dạng JSON
nhằm có thể dễ dàng xử lý.
17
Hình 2. 13: Kết quả trả về khi lấy bình luận từ một post của fanpage cá nhân
2.1.2.7 Debugging
Facebook cũng hỗ trợ một số công cụ debug trong trình khám phá API đồ
thị để kiểm tra tại sao giá trị trả về không theo truy vấn cũng như access token.
Hình 2. 14: Thông báo từ debugger
18
2.1.3 Get Access Token Facebook
2.1.3.1 Oauth 2.0
OAuth là viết tắt của Open với Authetication. Đây là một phương thức
chứng thực giúp các ứng dụng có thể chia sẻ tài nguyên với nhau mà không cần
chia sẻ thông tin username và password. Khi đăng nhập bằng Facebook hay Gmail,
website sẽ dẫn đến trang (hoặc phần mềm) Facebook và liệt kê những quyền mà
nó cần phải có để có thể đăng nhập và sử dụng dịch vụ. Nếu đồng ý thì lúc này
Facebook sẽ phát cho website một access token. Token này chứa một số quyền
hạn nhất định giúp cho website có thể xác minh người dùng là ai cũng như giúp
cho website có thể hoạt động được.
Facebook xây dựng Oauth 2.0 như cơ chế xác thực người dùng chuẩn của
nó. Và để có thực hiện được những lời gọi API, access token là một thứ bắt buộc
phải có.
Hình 2. 15: Sơ đồ hoạt động của OAuth 2.0
2.1.3.2 Các cách lấy Access Token
Việc đầu tiên phải làm khi muốn lấy được access token của Facebook[5] là
tạo một ứng dụng và thông tin của nó trong phần nhà phát triển của Facebook.
Trong quá trình thực hiện, kiểm thử hoặc chỉ lấy dữ liệu của bản thân, người dùng
19
có thể truy cập đến trình khám phá đồ thị API của Facebook để lấy access token
thủ công.
Hình 2. 16: Tạo ứng dụng mới trong phần nhà phát triển của facebook
Hình 2. 17: Giao diện ứng dụng sau khi tạo
20
Hình 2. 18: Thêm quyền và tính năng vào yêu cầu của ứng dụng
Hình 2. 19: Xét duyệt ứng dụng
21
Hình 2. 20: Thông tin về ứng dụng
3.1.3.2.1 Lấy Access Token bằng đăng nhập
Hình 2. 21: Sơ đồ quy trình đăng nhập
22
Để có thể làm được bước này, đầu tiên ứng dụng phải bắt đầu chuyển hướng
đến trang đăng nhập của Facebook:
Hình 2. 22: URL trang đăng nhập facebook
Điểm cuối này có những thông tin bắt buộc như sau:
 client_id: ID của ứng dụng, có trong bảng điều khiển ứng dụng.
 redirect_uri: URL mà bạn muốn chuyển hướng lại người đăng nhập đó về.
URL này sẽ ghi phản hồi từ hộp thoại Đăng nhập. Nếu bạn sử dụng thông
số này trong một chế độ xem web trong ứng dụng trên máy tính, bạn phải
đặt thông số này thành facebook.com/connect/login_success.html. Bạn có
thể xác nhận rằng URL này được đặt cho ứng dụng của bạn trong bảng điều
khiển ứng dụng. Bên dưới sản phẩm trong menu điều hướng bên trái của
Bảng điều khiển ứng dụng, nhấp vào Đăng nhập Facebook, sau đó nhấp vào
Cài đặt. Xác minh URL chuyển hướng OAuth hợp lệ trong phần Cài đặt
OAuth ứng dụng.
 state : Một giá trị do ứng dụng tạo để duy trì trạng thái giữa yêu cầu và hồi
đáp. Thông số này sẽ được dùng để ngăn giả mạo yêu cầu trên trang web và
sẽ được chuyển lại cho bạn, giữ nguyên không đổi, trong URL chuyển
hướng.
Tại điểm này trong luồng đăng nhập, người này sẽ nhìn thấy hộp thoại Đăng
nhập và có lựa chọn hủy hoặc cho phép ứng dụng truy cập dữ liệu của họ.
23
Hình 2. 23: Giao diện đăng nhập facebook
Nếu người dùng ứng dụng chọn OK trên hộp thoại Đăng nhập, họ cấp quyền
truy cập vào trang cá nhân công khai, danh sách bạn bè của mình và mọi quyền bổ
sung mà ứng dụng yêu cầu.
Trong mọi trường hợp, trình duyệt sẽ quay lại ứng dụng và bao gồm dữ liệu
phản hồi cho biết ai đó đã kết nối hay hủy. Khi ứng dụng dùng phương thức chuyển
hướng như trên, redirect_uri mà ứng dụng trả về sẽ được thêm vào với phân đoạn
hoặc thông số URL (theo response_type đã chọn) cần được ghi.
Hình 2. 24: URL trả về
Từ giá trị của code ta sẽ lấy ra được access token để truy cập vào thông tin người
dùng bằng cách gọi một HTTP GET request đến địa chỉ có dạng như sau:
Hình 2. 25: HTTP get request
24
HTTP Get request để lấy access token
 client_id: ID của ứng dụng.
 redirect_uri: Đây là tham số bắt buộc và phải giống với request_url gốc mà
bạn đã sử dụng khi bắt đầu quá trình đăng nhập OAuth.
 client_secret: Khóa bí mật của ứng dụng duy nhất của bạn, được hiển thị
trên Bảng điều khiển ứng dụng. Khóa bí mật của ứng dụng này không bao
giờ được bao gồm trong mã phía ứng dụng hoặc trong mã nhị phân có thể
giải mã. Điều này cực kỳ quan trọng là khóa này được giữ bí mật hoàn toàn
và đó là vấn đề cốt lõi của bảo mật ứng dụng cũng như tất cả những người
sử dụng khóa bí mật đó.
 Code: Thông số nhận được từ sự chuyển hướng hộp thoại đăng nhập ở trên.
Nếu thành công access token sẽ được trả về dưới dạng json.
Hình 2. 26: Kết quả trả về của request access token
Tới đây việc truy cập dữ liệu vô cùng dễ dàng, ta chỉ cần gọi Facebook
graph API. Lưu ý dữ liệu có thể truy cập chỉ nằm trong phạm vi các quyền mà
ứng dụng đã đề ra và quyền mà người dùng đã đồng ý.
Hình 2. 27: Lệnh gọi đến graph api
25
2.1.3.2.2 Lấy Access Token bằng trình khám phá API đồ thị (Graph-API)
Access token của trình khám API đồ thị là access token để thử nghiệm nên
việc lấy access token này rất đơn giản.
Tại trang chủ của trang nhà phát triển facebook, chúng ta có thể truy cập
đến mục công cụ. Mục đó sẽ dẫn tới trang công cụ hỗ trợ của facebook.
Hình 2. 28: Mục công cụ của nhà phát triển facebook
Hình 2. 29: Trang công cụ hổ trợ
26
Tại đây chúng ta có thể truy cập đến trình khám API đồ thị từ mục công cụ
Hình 2. 30: Giao diện trình khám phá API đồ thị
Sau đó chọn những quyền cần cấp và bấm Generate Access Token.
Facebook sẽ đưa ta đến trang đăng nhập như cách trên. Nếu thành công mã truy
cập sẽ hiện ra ở ô mã truy cập.
Hình 2. 31: Ô mã truy cập
2.3 Sử dụng Graph-API để lấy comments từ fanpage cá nhân
Để có thể lấy được comments từ API chúng ta cần access token có thể lấy
từ một trong hai cách ở trên. Ở đề tài này, nhóm sử dụng cách lấy access token từ
trình khám phá API đồ thị.
27
Hình 2. 32: Chọn quyền quản lí page
Hình 2. 33: Chọn page để cho phép sử dụng
28
Hình 2. 34: Cho phép ứng quản lí page
Tiếp theo chúng ta cần id của trang cá nhân và id của post mà mình cần
muốn lấy comment.
Hình 2. 35: Id của page
Id của post cũng có thể được lấy ở URL của post
Hình 2. 36: Id của post
29
Khi có được id của page và post, chúng ta chỉ cần gửi một yêu cầu HTTP
GET đến graph API có dạng https://graph.facebook.com/{page id}_{post
id}?fields=comments&access_token={access token}
Hình 2. 37: Kết quả json của yêu cầu HTTP GET
Khi thành công, graph API sẽ trả về kết quả ở dạng json. Tuy nhiên những
kí tự UTF-8 của kết quả json đều được mã hóa sang dạng latin-1. Vì thế nếu muốn
có dữ liệu json chính xác, chúng cần có một thư viện để giải mã kết quả Json.
30
CHƯƠNG 3: TRIỂN KHAI HỆ THỐNG
Trong chương 3 này nhóm sẽ giới thiệu cách lấy dữ liệu từ Facebook Graph-
API và loại dữ liệu mà nhóm dùng để áp dụng trong bài thực tập này. Cùng với đó
là những giải thuật và thư viện dùng để xử lý dữ liệu comment lấy được.
Như chúng ta đã biết, hệ thống phần mềm nào cũng cần có một nguồn dữ
liệu quy định cụ thể, để thuận lợi cho việc xử lý.
Nên để hiện thực được hệ thống thì nhóm cũng cần phải có một bộ dữ liệu
do chính nhóm tự tạo ra theo quy định giống như một cách bán hàng online trên
mạng xã hội (chỉ cần comment đúng cú pháp như thế nào đó, thì sẽ đặt được hàng).
Bộ dữ liệu đó được tạo ra như thế nào thì sẽ được nhóm giới thiệu cụ thể chi tiết
trong chương này.
3.1 Lấy dữ liệu Comment
Sau vụ kiện bảo mật người dùng của mạng xã hội lớn nhất thế giới liên quan
đến công ty có tên Cambridge Analytica vào năm 2019 [6], Facebook đã thắc chặt
các điều khoản về bảo vệ thông tin người dùng. Điều đó khiến cho chúng ta không
thể lấy được comment của những post riêng biệt cũng comment trên fanpage của
người khác. Tuy nhiên Facebook vẫn còn cho phép chúng ta lấy những comment
trên fanpage của chính mình. Do đó ứng dụng của nhóm sẽ tập trung vào việc lấy
dữ liệu comment từ fanpage riêng của cá nhân. Cách tiếp cận này cũng phù hợp
với đề tài tự động lấy mã đăng ký khách hàng trên fanpage bán hàng online của
chủ thể cá nhân….
Khi có được fanpage và post cần lấy, chúng ta cần phải biết được id của page
và của post để ứng dụng có thể lấy dữ liệu được. Để lấy được id của page và post,
chúng ta nhấn vào thời gian đăng lên của post phía dưới tên bài post.
31
Hình 3. 1: Thời gian đăng lên của Post [7]
Khi đó trình duyệt sẽ chuyển qua trang khác và trên URL của trang đó có
id của page và của post mà lấy comment về.
Hình 3. 2: URL có chứa id
Tiếp theo chúng ta cần đi lấy access token. Vì tình hình thế giới đang phải
chống chọi với dịch bệnh COVID-19, nên Facebook đã tạm thời đóng không xét
duyệt sản phẩm cá nhân nữa. Khiến cho việc lấy access token bằng đăng nhập
Facebook của ứng dụng trở nên không thể. Tuy nhiên Facebook vẫn cho phép lấy
access token thử nghiệm trên trình khám phá API bằng tay. Nên ứng dụng sẽ sử
dụng cách lấy token này thực hiện lấy dữ liệu từ Facebook.
Điều đầu tiên nhóm thực hiện là tạo một ứng dụng trên trang nhà phát triển
facebook (developers.facebook.com/) để có thể sử dụng được dịch vụ của
facebook.
32
Hình 3. 3: Tạo ứng có tên là Get_comment
Tiếp theo nhóm truy cập vào trang trình khám phá API đồ thị
(developers.facebook.com/tools/explorer/) của facebook để tạo access token.
Hình 3. 4: Tạo access token
Sau khi tạo xong, nhóm sẽ copy và lưu lại sử dụng cho việc lấy dữ liệu.
33
Khi có được id fanpage, id post, access token nhóm tạo một HTTP GET
request đến graph.facebook.com cùng có thông tin trên để lấy comment của post
về.
Hình 3. 5: HTTP GET request để lấy dữ liệu
Lúc này dữ liệu lấy được sẽ ở dạng json thuần và được lưu tạm thời trong ứng
dụng.
Để có được những dữ liệu này thì điều đầu tiên nhóm cần có một dữ liệu mà
do chính nhóm tự giả lập bằng cách tự tạo ra một fanpage của chính nhóm trên
trang mạng xã hội Facebook. Sau đó nhóm đăng một bài viết trên fanpage do nhóm
tạo ra.
Cụ thể bài đăng sẽ là nội dung cú pháp của một comment hợp lệ để đặt hàng
trên fanpage, để cho tất cả khách hàng muốn mua hàng có thể comment đúng và
chính xác yêu cầu bài đăng của nhóm và cũng như yêu cầu của người bán hàng
trên trang mạng xã hội Facebook.
Ban đầu nhóm cần ít comment để xử lý dữ liệu trong quá trình lập trình và
kiểm thử nên đã tự comment trên bài viết của chính nhóm tự tạo ra, về sau nhóm
cần nhiều comment hơn để kiểm tra độ chính xác và tốc độ của hệ thống nên nhóm
đã cần nhiều dữ liệu hơn nên nhóm đã gửi link cho bạn bè biết đến bài viết và nhờ
bạn bè comment giúp nhóm lấy được nhiều comment để xử lý và có thể đánh giá
hệ thống hoạt động một cách có hiệu quả hay không. Và với tốc độ truyền tải thông
tin trên mạng xã hội ngày nay thì cách mà nhóm giúp đỡ từ bạn bè trên mạng xã
34
hội cùng với bạn bè chia sẻ thì không mất nhiều thời gian nhóm có thể thu được
hàng trăm hoặc có thể hơn và nhiều hơn nữa để nhóm có thể kiểm thử hệ thống
chạy trên hàng trăm comment và nhiều hơn.
3.2 Giới thiệu dữ liệu
Bộ dữ liệu này nhóm lấy từ fanpage trên mạng xã hội facebook do chính
nhóm tạo ra để lấy bình luận từ nhiều người dùng comment vào bài viết mà nhóm
đã đăng tin bán hàng để thu thập những bình luận mang đi phân tích.
Nó là dữ liệu dạng Json: là chữ viết tắt của Javascript Object Notation, đây
là một dạng dữ liệu tuân theo một quy luật nhất định mà hầu hết các ngôn ngữ lập
trình hiện nay đều có thể đọc được, bạn có thể sử dụng lưu nó vào một file, một
record trong cơ sở dữ liệu rất dễ dàng. Json có định dạng đơn giản, dễ dàng sử
dụng và truy vấn hơn XML rất nhiều nên tính ứng dụng của nó hiện nay rất là phổ
biến, theo nhóm thì trong tương lai tới trong các ứng dụng sẽ sử dụng nó là đa số.
Json là một kiểu dữ liệu trung gian, chủ yếu được dùng để vận chuyển thông tin
giữa các thành phần của một chương trình.
Ban đầu nhóm tự giả lập comment trong chính bài viết do nhóm tạo ra
khoảng 300 comment, trong đó những comment đúng với quy ước do chính nhóm
đặt ra thì có khoảng 200 comment còn lại khoảng 100 comment còn lại là những
comment sai so với comment theo quy ước của nhóm đặt ra từ lúc ban đầu.
Những comment sai bao gồm là những comment sai với cú pháp ban đầu
mà nhóm tự quy định, hoặc những comment sai cú pháp của một email, sai số điện
thoại, sai mã hàng,…
Ngoài những comment đúng với cú pháp do nhóm tự quy định thì những
comment ví dụ như số điện thoại, mã hàng, số lượng, email,… đặt sai vị trí thì
cũng tính là comment hợp lệ theo quy định của nhóm.
35
Dữ liệu sau khi sử dụng HTTP GET Request lấy về ở dạng json:
36
Cú pháp của Json rất đơn giản là mỗi thông tin dữ liệu sẽ có 2 phần đó là
key và value, điều này tương ứng trong CSDL là tên field và giá trị của nó ở một
record nào đó. Tuy nhiên nhìn qua thì đơn giản nhưng nếu ta mổ xẻ nó ra thì có
một vài điều như sau:
 Chuỗi JSON được bao lại bởi dấu ngoặc nhọn {}.
 Các key, value của JSON bắt buộc phải đặt trong dấu nháy kép.
 Nếu có nhiều dữ liệu (nhiều cặp key => value) thì ta dùng dấu phẩy (,) để
ngăn cách.
 Các key của Json được đặt chữ cái không dấu hoặc số, dấu _ và không có
khoảng trắng.
Cấu trúc dữ liệu Json khi lấy được từ Graph_API trả về:
 Kích thước mẫu bằng tất cả các bình luận trong bài đăng.
 Mỗi một comment hay là một bộ dữ liệu gồm có 3 trường dữ liệu trả về:
“created_time”, “message” và “id” của chính bình luận đó.
3.3 Tiền xử lý dữ liệu
Vì dữ liệu Json thuần Facebook trả về có dạng latin 1 nên muốn có thể sử
dụng được dữ liệu này ta phải thám mã nó về lại dạng ban đầu. Ở đây nhóm sử
dụng thư viện newtonson để có thể thám mã.
Hình 3. 6: Ví dụ thư viện newtonson
37
Nội dung mỗi comment lấy về được gồm có ba phần:
 “created_time”: thời gian lúc khách hàng comment vào bài viết.
 “id”: id của bài viết + id của người bình luận.
 “message”: nội dung comment.
Hình 3. 7: Ví dụ nội dung comment lấy về được
Dữ liệu comment facebook trả về sau khi được chuyển đổi về dạng chuẩn thì
sẽ được lưu vào trong mảng.
Mỗi comment sẽ lưu lại thời gian comment, id người dùng và nội dung của
commet. Tiếp theo sẽ lấy nội dung của comment đi xử lý để lấy ra những thông
tin cần lấy như: mã hàng, số lượng, email, số điện thoại.
38
Những comment mà khách hàng coment trên facebook sẽ không tránh khỏi dữ
liệu xuống dòng khi người dùng nhập
Ví dụ người dùng nhập:
Hình 3. 8: Ví dụ người dùng nhập
Những comment như này nội dung xuống dòng lúc này Facebook gửi dữ liệu
về sẽ được ở dạng n
Dữ liệu sau đó sẽ được chuyển từ HTTP GET Request
Để xử lý nhóm sử dụng thư viện Regex để lọc những dấu n này ra để sau khi
xử lý dữ liệu export ra file csv khỏi bị nhảy ô.
using System.Text.RegularExpressions;
string binhluan = Regex.Replace(comment, "n", " ");
Dữ liệu sau khi được xử lý
Hình 3. 9: Ví dụ xử lý dữ liệu comment
39
3.4 Xử lý dữ liệu Comment
3.4.1 Giới thiệu
Để lấy được thông tin khách hàng từ comment trên trang mạng xã hội
Facebook hệ thống sẽ quy định lấy ra được những thông tin: mã hàng, số lượng,
email và số điện thoại của người comment.
Cú pháp để người mua comment trên trang mạng xã hội facebook phải có gồm
những thông tin để hệ thống tự động lọc ra được các comment đúng với một đơn
đặt hàng.
Sau khi lấy được những comment từ giai đoạn tiền xử lý dữ liệu thì ta sẽ đem
những coment này để lấy ra được những thông tin sản phẩm và thông tin người
mua từ những comment trên trang mạng xã hội Facebook.
Hệ thống sẽ lọc lấy những comment đúng yêu cầu và sẽ bỏ qua những
comment không đúng yêu cầu, sẽ duyệt hết chuỗi trong comment nếu có số điện
thoại hoặc mã hàng và số điện thoại hoặc mã hàng, số điện thoại, email hoặc mã
hàng, số điện thoại, số lượng hoặc có đủ cả 4 thông tin thì mới là comment đúng
yêu cầu.
3.4.2 Quy trình lấy những comment đi trích lọc
Sau khi lấy được dữ liệu comment trong bài viết trên mạng xã hội Facebook.
Dữ liệu sẽ không thể tránh khỏi những dữ liệu rác như bị ngắt xuống dòng, sai font
định dạng,…
Vì vậy, nhóm sẽ đi lọc dữ liệu lấy được trước để thuận lợi cho những bước
sau xử lý dữ liệu.
Và sau đây là quy trình xử lý những comment lấy được trước khi đi vào giai
đoạn trích lọc dữ liệu:
40
Hình 3. 10: Ví dụ xử lý dữ liệu comment
41
Bước 1:
comment =GetComments() // Lấy comments
clean_comments= CleantComments(comments) // Làm sạch dữ liệu
Bước 2:
Duyệt danh sách comment
phone=getPhone(cm);
email=getEmail(cm);
mahang=getMahang();
soluong=getSoluong();
Add vào ds lưu file;
Lặp lại bước 2;
Bước 3:
Lưu file CSV;
3.5 Trích lọc các đặc trưng
3.5.1 Giải thuật trích lọc
3.5.2 Lấy mã hàng từ Comment
Để lấy mã hàng từ trong comment hệ thống sẽ duyệt hết chuỗi từ comment lấy
được từ trang bán hàng trên mạng xã hội Facebook để so với định dạng đúng mã
hàng của người dùng hệ thống tự đặt ra.
Xử lý việc lấy được mã hàng nhóm xử dụng thư viện Regex định nghĩa một
khuôn mẫu (pattern) tìm kiếm chuỗi. Nó có thể được sử dụng tìm kiếm, sửa đổi,
và thao tác trên văn bản. Khuôn mẫu được định nghĩa bởi biểu thức chính quy có
42
thể khớp (match) một hoặc một vài lần, hoặc không khớp với một văn bản cho
trước.
using System.Text.RegularExpressions;
Đầu tiên sẽ đi định nghĩa khuôn mẫu:
Regex regMaHang = new Regex(@"[MH|mh|Mh|mH]+[0-9]{3}");
Khuôn mẫu này dùng để so sánh với chuỗi lấy được từ trong comment để lấy
ra mã hàng có dạng ví dụ mã hàng có dạng là MHxxx trong đó xxx là 3 số tự nhiên.
Hình 3. 11: Xử lý lấy mã hàng
3.5.3 Lấy số lượng từ Comment
Để lấy số lượng từ trong comment hệ thống sẽ duyệt hết chuỗi từ comment lấy
được từ trang bán hàng trên mạng xã hội Facebook để so với định dạng đúng số
lượng của người dùng hệ thống tự đặt ra.
Xử lý việc lấy được số lượng nhóm cũng sử dụng thư viện Regex:
using System.Text.RegularExpressions;
Đầu tiên sẽ đi định nghĩa khuôn mẫu:
Regex regSl = new Regex(@"D[0-9]{1,2}D");
Khuôn mẫu này để so sánh với chuỗi lấy được từ trong comment để lấy ra số
lượng có dạng số gồm 2 chữ số.
43
Hình 3. 12: Xử lý lấy số lượng
3.5.4 Lấy Email từ Comment
Để lấy email từ trong comment hệ thống sẽ duyệt hết chuỗi từ comment lấy
được từ trang bán hàng trên mạng xã hội Facebook để so với định dạng đúng của
một email
Xử lý việc lấy được email nhóm cũng sử dụng thư viện Regex:
using System.Text.RegularExpressions;
Đầu tiên sẽ đi định nghĩa khuôn mẫu:
Regex regEmail = new Regex(@"[a-z0-9._@+-]+@([a-z0-9]+.)+[a-z]{2,6}");
Khuôn mẫu này để so sánh với chuỗi lấy được từ trong comment để lấy ra
email đúng:
Hình 3. 13: Xử lý lấy Email
44
3.5.5 Lấy số điện thoại từ Comment
Để lấy số điện thoại từ trong comment hệ thống sẽ duyệt hết chuỗi từ comment
lấy được từ trang bán hàng trên mạng xã hội Facebook để so với định dạng đúng
của một số điện thoại
Xử lý việc lấy được số điện thoại nhóm cũng sử dụng thư viện Regex:
using System.Text.RegularExpressions;
Đầu tiên sẽ đi định nghĩa khuôn mẫu:
Regex regSdt = new Regex(@"b[0-9]{10,11}b");
Khuôn mẫu này để so sánh với chuỗi lấy được từ trong comment để lấy ra số
điện thoại đúng:
Hình 3. 14: Xử lý lấy số điện thoại
3.6 Kết quả dữ liệu sau khi được xử lý
Dữ liệu khách hàng comment sau được hệ thống xử lý người dùng có thể lưu
lại dữ liệu vào file csv để có thể quản lý dễ dàng.
Hệ thống sau khi xử lý 300 comment và export ra file csv
45
Hình 3. 15: Dữ liệu xuất ra file CSV
46
CHƯƠNG 4: XÂY DỰNG VÀ ĐÁNH GIÁ HỆ THỐNG
4.1 Giới thiệu
Sau khi phân tích và tìm hiểu công cụ để xữ lý dữ liệu thì nhóm đi đến xây
dựng ứng dụng demo để lấy những comment từ bài đăng trên trang mạng xã hội
Facebook của chính mình.
Ứng dụng sẽ yêu cầu ba dữ liệu từ người dùng gồm:
 ID Fanpage
 ID bài viết
 Access Token
để cung cấp cho ứng dụng việc truy cập đến Graph-Api của Facebook để lấy những
comment từ bài viết của Fanpage mà người dùng cung cấp.
Việc xây dựng ứng dụng nhóm đã lựa chọn và xây dựng trên Windows
Forms [8]: (WinForms) là thư viện lớp đồ họa (GUI) miễn phí và nguồn mở được
bao gồm như một phần của Microsoft .NET Framework hoặc Mono Framework,
cung cấp nền tảng để viết các ứng dụng khách phong phú cho máy tính để bàn,
máy tính xách tay và máy tính bảng. Mặc dù được coi là sự thay thế cho Thư viện
Microsoft Foundation Class dựa trên C ++ trước đó và phức tạp hơn, nhưng nó
không cung cấp một mô hình tương đương và chỉ hoạt động như một nền tảng cho
tầng giao diện người dùng trong một giải pháp đa tầng.
Nền tảng ngôn ngữ: C#.
4.2 Cài đặt hệ thống
Các bước để cài đặt hệ thống GetComment:
47
Hình 4. 1: Cài đặt hệ thống 1
Hình 4. 2: Cài đặt hệ thống 2
48
Hình 4. 3: Cài đặt hệ thống 3
Hình 4. 4: Cài đặt hệ thống 4
49
Hình 4. 5: Cài đặt hệ thống 5
Hình 4. 6: Cài đặt hệ thống 6
50
4.3 Kết quả
Hình 4. 7: Giao diện hệ thống
4.4 Đánh giá
Trên tổng số 300 comment, số lượng comment lấy ra được hơn 80%. Các
comment lấy ra được gồm có :
 Comment theo quy tắc nhóm đặt ra đúng thứ tự.
 Comment theo quy tác nhóm đặt ra không theo thứ tự.
Nhưng comments còn lại không lấy ra được gồm nhũng comment sai quy
tắc nhóm đặt ra như:
 Dạng email không phù hợp hoặc không có email.
 Số lượng không phù hợp hoặc không có số lượng.
 Số điện thoại không phù hợp hoặc không có số điện thoại.
 Mã hàng không phù hợp hoặc không có mã hàng.
51
5.1 Kết luận
CHƯƠNG 5: KẾT LUẬN
Mạng xã hội ngày càng được phát triển và nhiều người biết đến, đây là cơ
hội cho các doanh nghiệp quảng bá cũng như buôn bán các sản phẩm của mình.
Đề tài nhóm nghiên cứu, “Phát triển ứng dụng tự động lấy mã hàng và thông tin
người mua hàng từ Comment”, đã giúp được một phần vào việc thương mại điện
tử trên mạng xã hội của các doanh nghiệp.
Qua khoảng thời gian nghiên cứu, nhóm đã tìm hiểu thêm được về API, lập
trình ứng dụng C#, phát triển một ứng dụng bằng facebook API, các công cụ hỗ
trợ của nhà phát triển ứng dụng Facebook, file CSV. Các thành viên trong nhóm
đã tiến bộ về một số mặt như: lập trình C# trên công cụ Visual Studio, khả năng
đọc tiếng anh, khả năng tìm hiểu về chủ đề lạ, khả năng làm việc nhóm, kĩ năng
quản lý code làm việc chung trên GitHub, kỹ năng viết báo cáo.
Bên cạnh đó ứng dụng nhóm làm ra vẫn còn thể nâng cấp, hoàn thiện hơn
ở các điểm như: giao diện ứng dụng, tốc độ xử lý, tự động lấy access token bằng
đăng nhập Facebook,….
5.2 Hướng mở rộng phát triển
 Hỗ trợ người tự động lấy access token thông qua đăng nhập facebook.
 Hỗ trợ người dùng tự điều chỉnh mã hàng theo ý muốn của mình.
 Hỗ trợ người dùng chỉ lọc những email có dạng mà mình muốn.
 Hỗ trợ các ngôn ngữ khác nhau cũng như nhận diện được số ghi bằng chữ.
 Thêm chức năng lấy comment không cần access token thông crawl website.
 Nâng cấp các giải thuật tìm kiếm email, số điện thoại, mã hàng, số lượng để
đạt được tốc độ tốt ưu hơn.
52
 Cho phép người dùng lấy comments ở các trang mạng xã hội khác không
nhất thiết là phải facebook.
 Nâng cấp giao diện dễ sử dụng hơn cho người dùng.
 Phát triển ứng dụng lên môi trường web.
[1].
TÀI LIỆU THAM KHẢO
https://vi.wikipedia.org/wiki/Giao_di%E1%BB%87n_l%E1%BA%ADp_tr%C3
%ACnh_%E1%BB%A9ng_d%E1%BB%A5ng
[2]. https://www.facebook.com/?ref=tn_tnmn
[3]. https://developers.facebook.com/policy/?locale=vi_VN
[4]. https://developers.facebook.com/docs/graph-api/using-graph-api/
[5]. https://developers.facebook.com/docs/facebook-login/access-tokens
[6]. http://vneconomy.vn/facebook-co-the-linh-an-phat-ty-do-vi-be-boi-
cambridge-analytica-20190215115032538.htm
[7].
https://www.facebook.com/permalink.php?story_fbid=110785033922541&id=1
02221681445543& xts [0]=68.ARC1jyt-
29x8NOqVGqy9buHxDHIVRS1ZFqJyPc33de6vIDBpbwp9bLcJl11eIozLfWaE
FCAXVfkg7s0DOIrD-
2E0LwjFsAszuhlXyWaW60KfUz0qkBc3mKtldg81F0GH5H18SD9CzUFvCZO
bggAX2SW6wkSzyY_YXJ9Xn-
FOFPbGt1nttN8dW1bIllwPXS38zHpHTzBn5wEVmCLmExBpbxgjHoDmCr6Y
VJr4yWki-S-
WT5VJmLiEjV4lpNy1ipC2Nm_U2UAbwTMOv4TAPVa4xyJkSiyvl8k-
4GtxvbJ2eya8nF3a3waIXsxv6EZj7dIe6FdHRgcrHAT9fovLYwg& tn =-R
[8]. https://en.wikipedia.org/wiki/Windows_Forms

More Related Content

Similar to Phát Triển Ứng Dụng Tự Động Lấy Mã Hàng Và Thông Tin Người Mua Hàng Từ Comment

Báo cáo thực tập athena Nghiên cứu và xây dựng web tin tức bằng Joomla
Báo cáo thực tập athena Nghiên cứu và xây dựng web tin tức bằng JoomlaBáo cáo thực tập athena Nghiên cứu và xây dựng web tin tức bằng Joomla
Báo cáo thực tập athena Nghiên cứu và xây dựng web tin tức bằng Joomla
Nguyễn Tân
 
Bao cao thuc tap website tin tuc joomla
Bao cao thuc tap website tin tuc joomlaBao cao thuc tap website tin tuc joomla
Bao cao thuc tap website tin tuc joomla
Kiên Lê
 
Báo cáo thực tập athena
Báo cáo thực tập athenaBáo cáo thực tập athena
Báo cáo thực tập athena
Le Chuong
 

Similar to Phát Triển Ứng Dụng Tự Động Lấy Mã Hàng Và Thông Tin Người Mua Hàng Từ Comment (20)

Báo cáo đồ án - Thiết kế web tại Thanh Hóa
Báo cáo đồ án - Thiết kế web tại Thanh HóaBáo cáo đồ án - Thiết kế web tại Thanh Hóa
Báo cáo đồ án - Thiết kế web tại Thanh Hóa
 
Báo cáo đồ án - Thiết kế web tại Thanh Hóa - dịch vụ seo tại Thanh Hóa
Báo cáo đồ án - Thiết kế web tại Thanh Hóa - dịch vụ seo tại Thanh HóaBáo cáo đồ án - Thiết kế web tại Thanh Hóa - dịch vụ seo tại Thanh Hóa
Báo cáo đồ án - Thiết kế web tại Thanh Hóa - dịch vụ seo tại Thanh Hóa
 
Báo cáo thực tập athena Nghiên cứu và xây dựng web tin tức bằng Joomla
Báo cáo thực tập athena Nghiên cứu và xây dựng web tin tức bằng JoomlaBáo cáo thực tập athena Nghiên cứu và xây dựng web tin tức bằng Joomla
Báo cáo thực tập athena Nghiên cứu và xây dựng web tin tức bằng Joomla
 
Đề tài: chương trình quản lý lớp học của trung tâm ngoại ngữ, HAY
Đề tài: chương trình quản lý lớp học của trung tâm ngoại ngữ, HAYĐề tài: chương trình quản lý lớp học của trung tâm ngoại ngữ, HAY
Đề tài: chương trình quản lý lớp học của trung tâm ngoại ngữ, HAY
 
Đề tài: Quản lí các lớp học ngoại ngữ tại trung tâm đào tạo, HAY
Đề tài: Quản lí các lớp học ngoại ngữ tại trung tâm đào tạo, HAYĐề tài: Quản lí các lớp học ngoại ngữ tại trung tâm đào tạo, HAY
Đề tài: Quản lí các lớp học ngoại ngữ tại trung tâm đào tạo, HAY
 
Đề tài chương trình quản lý các lớp ngoại ngữ, HAY
Đề tài  chương trình quản lý các lớp ngoại ngữ, HAYĐề tài  chương trình quản lý các lớp ngoại ngữ, HAY
Đề tài chương trình quản lý các lớp ngoại ngữ, HAY
 
Đồ án trang web bán văn phòng phẩm
Đồ án trang web bán văn phòng phẩmĐồ án trang web bán văn phòng phẩm
Đồ án trang web bán văn phòng phẩm
 
Chiến lược phát triển và ứng dụng công nghệ thông tin tại trung tâm chỉ đạo t...
Chiến lược phát triển và ứng dụng công nghệ thông tin tại trung tâm chỉ đạo t...Chiến lược phát triển và ứng dụng công nghệ thông tin tại trung tâm chỉ đạo t...
Chiến lược phát triển và ứng dụng công nghệ thông tin tại trung tâm chỉ đạo t...
 
Đề tài: Tìm hiểu phần mềm nguồn mở ZENCART, HAY, 9đ
Đề tài: Tìm hiểu phần mềm nguồn mở ZENCART, HAY, 9đĐề tài: Tìm hiểu phần mềm nguồn mở ZENCART, HAY, 9đ
Đề tài: Tìm hiểu phần mềm nguồn mở ZENCART, HAY, 9đ
 
Đề tài: Tìm hiểu phần mềm nguồn mở ZENCART và ứng dụng, HOT
Đề tài: Tìm hiểu phần mềm nguồn mở ZENCART và ứng dụng, HOTĐề tài: Tìm hiểu phần mềm nguồn mở ZENCART và ứng dụng, HOT
Đề tài: Tìm hiểu phần mềm nguồn mở ZENCART và ứng dụng, HOT
 
Luận văn: Phát triển nhân lực công nghệ thông tin tại Việt Nam, 9đ
Luận văn: Phát triển nhân lực công nghệ thông tin tại Việt Nam, 9đLuận văn: Phát triển nhân lực công nghệ thông tin tại Việt Nam, 9đ
Luận văn: Phát triển nhân lực công nghệ thông tin tại Việt Nam, 9đ
 
Luận văn: Ứng dụng giám sát hành trình trên điện thoại, HAY
Luận văn: Ứng dụng giám sát hành trình trên điện thoại, HAYLuận văn: Ứng dụng giám sát hành trình trên điện thoại, HAY
Luận văn: Ứng dụng giám sát hành trình trên điện thoại, HAY
 
Bao cao thuc tap website tin tuc joomla
Bao cao thuc tap website tin tuc joomlaBao cao thuc tap website tin tuc joomla
Bao cao thuc tap website tin tuc joomla
 
Luận văn: Tìm hiểu giải pháp ảo hóa docker và ứng dụng, HOT
Luận văn: Tìm hiểu giải pháp ảo hóa docker và ứng dụng, HOTLuận văn: Tìm hiểu giải pháp ảo hóa docker và ứng dụng, HOT
Luận văn: Tìm hiểu giải pháp ảo hóa docker và ứng dụng, HOT
 
Đề tài: Tìm hiểu giải pháp ảo hóa docker, HAY, 9đ
Đề tài: Tìm hiểu giải pháp ảo hóa docker, HAY, 9đĐề tài: Tìm hiểu giải pháp ảo hóa docker, HAY, 9đ
Đề tài: Tìm hiểu giải pháp ảo hóa docker, HAY, 9đ
 
Báo cáo thực tập athena
Báo cáo thực tập athenaBáo cáo thực tập athena
Báo cáo thực tập athena
 
Đề tài: Hệ thống hỗ trợ quản lý cung cấp phim theo yêu cầu, HOT
Đề tài: Hệ thống hỗ trợ quản lý cung cấp phim theo yêu cầu, HOTĐề tài: Hệ thống hỗ trợ quản lý cung cấp phim theo yêu cầu, HOT
Đề tài: Hệ thống hỗ trợ quản lý cung cấp phim theo yêu cầu, HOT
 
Luận văn: Nghiên cứu xây dựng quy trình quản lý đầu tư ứng dụng công nghệ thô...
Luận văn: Nghiên cứu xây dựng quy trình quản lý đầu tư ứng dụng công nghệ thô...Luận văn: Nghiên cứu xây dựng quy trình quản lý đầu tư ứng dụng công nghệ thô...
Luận văn: Nghiên cứu xây dựng quy trình quản lý đầu tư ứng dụng công nghệ thô...
 
Kiểm chứng các chương trình phần mềm hướng khía cạnh, HAY
Kiểm chứng các chương trình phần mềm hướng khía cạnh, HAYKiểm chứng các chương trình phần mềm hướng khía cạnh, HAY
Kiểm chứng các chương trình phần mềm hướng khía cạnh, HAY
 
Đồ án xây dựng website trang báo thương mại điện tử
Đồ án xây dựng website trang báo thương mại điện tử Đồ án xây dựng website trang báo thương mại điện tử
Đồ án xây dựng website trang báo thương mại điện tử
 

More from Dịch vụ Làm Luận Văn 0936885877

More from Dịch vụ Làm Luận Văn 0936885877 (20)

Báo cáo thực tập quản trị nhân sự tại công ty Bất Động Sản Win Home
Báo cáo thực tập quản trị nhân sự tại công ty Bất Động Sản Win HomeBáo cáo thực tập quản trị nhân sự tại công ty Bất Động Sản Win Home
Báo cáo thực tập quản trị nhân sự tại công ty Bất Động Sản Win Home
 
Báo cáo thực tập Văn hóa doanh nghiệp tại công ty sữa Vinamilk
Báo cáo thực tập Văn hóa doanh nghiệp tại công ty sữa VinamilkBáo cáo thực tập Văn hóa doanh nghiệp tại công ty sữa Vinamilk
Báo cáo thực tập Văn hóa doanh nghiệp tại công ty sữa Vinamilk
 
Luận văn thạc sĩ Giá trị đạo lý trong sáng tác của Nguyễn Đình Chiểu với đời ...
Luận văn thạc sĩ Giá trị đạo lý trong sáng tác của Nguyễn Đình Chiểu với đời ...Luận văn thạc sĩ Giá trị đạo lý trong sáng tác của Nguyễn Đình Chiểu với đời ...
Luận văn thạc sĩ Giá trị đạo lý trong sáng tác của Nguyễn Đình Chiểu với đời ...
 
Luận văn văn hóa học ảnh hưởng của truyền thông đối với việc chọn nghề của họ...
Luận văn văn hóa học ảnh hưởng của truyền thông đối với việc chọn nghề của họ...Luận văn văn hóa học ảnh hưởng của truyền thông đối với việc chọn nghề của họ...
Luận văn văn hóa học ảnh hưởng của truyền thông đối với việc chọn nghề của họ...
 
Luận văn thạc sĩ văn hóa học Di sản khảo cổ học trong bối cảnh Đương Đại
Luận văn thạc sĩ văn hóa học Di sản khảo cổ học trong bối cảnh Đương ĐạiLuận văn thạc sĩ văn hóa học Di sản khảo cổ học trong bối cảnh Đương Đại
Luận văn thạc sĩ văn hóa học Di sản khảo cổ học trong bối cảnh Đương Đại
 
Luận văn thạc sĩ văn hóa học về chợ quê truyền thống
Luận văn thạc sĩ văn hóa học về chợ quê truyền thốngLuận văn thạc sĩ văn hóa học về chợ quê truyền thống
Luận văn thạc sĩ văn hóa học về chợ quê truyền thống
 
Luận văn thạc sĩ ứng dụng thương mại điện tử trong bán lẻ Việt Nam
Luận văn thạc sĩ ứng dụng thương mại điện tử trong bán lẻ Việt NamLuận văn thạc sĩ ứng dụng thương mại điện tử trong bán lẻ Việt Nam
Luận văn thạc sĩ ứng dụng thương mại điện tử trong bán lẻ Việt Nam
 
Luận văn thạc sĩ thương mại điện tử ý định mua sách trực tuyến
Luận văn thạc sĩ thương mại điện tử ý định mua sách trực tuyếnLuận văn thạc sĩ thương mại điện tử ý định mua sách trực tuyến
Luận văn thạc sĩ thương mại điện tử ý định mua sách trực tuyến
 
Luận văn thạc sĩ chính trị học giáo dục Lý Luận Chính Trị Cho Cán Bộ Cấp Cơ Sở
Luận văn thạc sĩ chính trị học giáo dục Lý Luận Chính Trị Cho Cán Bộ Cấp Cơ SởLuận văn thạc sĩ chính trị học giáo dục Lý Luận Chính Trị Cho Cán Bộ Cấp Cơ Sở
Luận văn thạc sĩ chính trị học giáo dục Lý Luận Chính Trị Cho Cán Bộ Cấp Cơ Sở
 
Luận văn Phát triển nông thôn Trong Xây Dựng Nông Thôn Mới
Luận văn Phát triển nông thôn Trong Xây Dựng Nông Thôn MớiLuận văn Phát triển nông thôn Trong Xây Dựng Nông Thôn Mới
Luận văn Phát triển nông thôn Trong Xây Dựng Nông Thôn Mới
 
Luận văn thạc sĩ phát triển nông thôn Kinh Tế Trang Trại
Luận văn thạc sĩ phát triển nông thôn Kinh Tế Trang TrạiLuận văn thạc sĩ phát triển nông thôn Kinh Tế Trang Trại
Luận văn thạc sĩ phát triển nông thôn Kinh Tế Trang Trại
 
Luận văn thạc sĩ ngành xã hội học về người có uy tín trên báo
Luận văn thạc sĩ ngành xã hội học về người có uy tín trên báoLuận văn thạc sĩ ngành xã hội học về người có uy tín trên báo
Luận văn thạc sĩ ngành xã hội học về người có uy tín trên báo
 
Luận văn thạc sĩ xã hội học Giao tiếp trong gia đình đô thị
Luận văn thạc sĩ xã hội học Giao tiếp trong gia đình đô thịLuận văn thạc sĩ xã hội học Giao tiếp trong gia đình đô thị
Luận văn thạc sĩ xã hội học Giao tiếp trong gia đình đô thị
 
Tiểu luận Thiết lập và thẩm định dự án đầu tư_ Dự án đầu tư cửa hàng bánh ngọt
Tiểu luận Thiết lập và thẩm định dự án đầu tư_ Dự án đầu tư cửa hàng bánh ngọtTiểu luận Thiết lập và thẩm định dự án đầu tư_ Dự án đầu tư cửa hàng bánh ngọt
Tiểu luận Thiết lập và thẩm định dự án đầu tư_ Dự án đầu tư cửa hàng bánh ngọt
 
Tiểu luận thẩm định dự án đầu tư trung tâm kỹ năng Anoz5
Tiểu luận thẩm định dự án đầu tư trung tâm kỹ năng Anoz5Tiểu luận thẩm định dự án đầu tư trung tâm kỹ năng Anoz5
Tiểu luận thẩm định dự án đầu tư trung tâm kỹ năng Anoz5
 
Tiểu luận thẩm định dự án đầu tư quán cafe
Tiểu luận thẩm định dự án đầu tư quán cafeTiểu luận thẩm định dự án đầu tư quán cafe
Tiểu luận thẩm định dự án đầu tư quán cafe
 
Tiểu luận thẩm định dự án đầu tư quán ăn vặt Fastfood
Tiểu luận thẩm định dự án đầu tư quán ăn vặt FastfoodTiểu luận thẩm định dự án đầu tư quán ăn vặt Fastfood
Tiểu luận thẩm định dự án đầu tư quán ăn vặt Fastfood
 
Tiểu luận thẩm định dự án đầu tư cửa hàng thức ăn nhanh
Tiểu luận thẩm định dự án đầu tư cửa hàng thức ăn nhanhTiểu luận thẩm định dự án đầu tư cửa hàng thức ăn nhanh
Tiểu luận thẩm định dự án đầu tư cửa hàng thức ăn nhanh
 
Tiểu luận văn hóa doanh nghiệp của Tập Đoàn TH
Tiểu luận văn hóa doanh nghiệp của Tập Đoàn THTiểu luận văn hóa doanh nghiệp của Tập Đoàn TH
Tiểu luận văn hóa doanh nghiệp của Tập Đoàn TH
 
Tiểu luận biểu hiện văn hóa doanh nghiệp của Tập Đoàn FPT
Tiểu luận biểu hiện văn hóa doanh nghiệp của Tập Đoàn FPTTiểu luận biểu hiện văn hóa doanh nghiệp của Tập Đoàn FPT
Tiểu luận biểu hiện văn hóa doanh nghiệp của Tập Đoàn FPT
 

Recently uploaded

bài tập lớn môn kiến trúc máy tính và hệ điều hành
bài tập lớn môn kiến trúc máy tính và hệ điều hànhbài tập lớn môn kiến trúc máy tính và hệ điều hành
bài tập lớn môn kiến trúc máy tính và hệ điều hành
dangdinhkien2k4
 
ĐỀ SỐ 1 Của sở giáo dục đào tạo tỉnh NA.pdf
ĐỀ SỐ 1 Của sở giáo dục đào tạo tỉnh NA.pdfĐỀ SỐ 1 Của sở giáo dục đào tạo tỉnh NA.pdf
ĐỀ SỐ 1 Của sở giáo dục đào tạo tỉnh NA.pdf
levanthu03031984
 
26 Truyện Ngắn Sơn Nam (Sơn Nam) thuviensach.vn.pdf
26 Truyện Ngắn Sơn Nam (Sơn Nam) thuviensach.vn.pdf26 Truyện Ngắn Sơn Nam (Sơn Nam) thuviensach.vn.pdf
26 Truyện Ngắn Sơn Nam (Sơn Nam) thuviensach.vn.pdf
ltbdieu
 
C.pptx. Phát hiện biên ảnh trong xử lý ảnh
C.pptx. Phát hiện biên ảnh trong xử lý ảnhC.pptx. Phát hiện biên ảnh trong xử lý ảnh
C.pptx. Phát hiện biên ảnh trong xử lý ảnh
BookoTime
 

Recently uploaded (20)

30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
 
Tiểu luận tổng quan về Mối quan hệ giữa chu kỳ kinh tế và đầu tư trong nền ki...
Tiểu luận tổng quan về Mối quan hệ giữa chu kỳ kinh tế và đầu tư trong nền ki...Tiểu luận tổng quan về Mối quan hệ giữa chu kỳ kinh tế và đầu tư trong nền ki...
Tiểu luận tổng quan về Mối quan hệ giữa chu kỳ kinh tế và đầu tư trong nền ki...
 
ĐỀ KIỂM TRA CUỐI KÌ 2 BIÊN SOẠN THEO ĐỊNH HƯỚNG ĐỀ BGD 2025 MÔN TOÁN 11 - CÁN...
ĐỀ KIỂM TRA CUỐI KÌ 2 BIÊN SOẠN THEO ĐỊNH HƯỚNG ĐỀ BGD 2025 MÔN TOÁN 11 - CÁN...ĐỀ KIỂM TRA CUỐI KÌ 2 BIÊN SOẠN THEO ĐỊNH HƯỚNG ĐỀ BGD 2025 MÔN TOÁN 11 - CÁN...
ĐỀ KIỂM TRA CUỐI KÌ 2 BIÊN SOẠN THEO ĐỊNH HƯỚNG ĐỀ BGD 2025 MÔN TOÁN 11 - CÁN...
 
bài tập lớn môn kiến trúc máy tính và hệ điều hành
bài tập lớn môn kiến trúc máy tính và hệ điều hànhbài tập lớn môn kiến trúc máy tính và hệ điều hành
bài tập lớn môn kiến trúc máy tính và hệ điều hành
 
Chương 6: Dân tộc - Chủ nghĩa xã hội khoa học
Chương 6: Dân tộc - Chủ nghĩa xã hội khoa họcChương 6: Dân tộc - Chủ nghĩa xã hội khoa học
Chương 6: Dân tộc - Chủ nghĩa xã hội khoa học
 
GIỮ GÌN VÀ PHÁT HUY GIÁ TRỊ MỘT SỐ BÀI HÁT DÂN CA CÁC DÂN TỘC BẢN ĐỊA CHO HỌC...
GIỮ GÌN VÀ PHÁT HUY GIÁ TRỊ MỘT SỐ BÀI HÁT DÂN CA CÁC DÂN TỘC BẢN ĐỊA CHO HỌC...GIỮ GÌN VÀ PHÁT HUY GIÁ TRỊ MỘT SỐ BÀI HÁT DÂN CA CÁC DÂN TỘC BẢN ĐỊA CHO HỌC...
GIỮ GÌN VÀ PHÁT HUY GIÁ TRỊ MỘT SỐ BÀI HÁT DÂN CA CÁC DÂN TỘC BẢN ĐỊA CHO HỌC...
 
ĐỀ SỐ 1 Của sở giáo dục đào tạo tỉnh NA.pdf
ĐỀ SỐ 1 Của sở giáo dục đào tạo tỉnh NA.pdfĐỀ SỐ 1 Của sở giáo dục đào tạo tỉnh NA.pdf
ĐỀ SỐ 1 Của sở giáo dục đào tạo tỉnh NA.pdf
 
Bài học phòng cháy chữa cháy - PCCC tại tòa nhà
Bài học phòng cháy chữa cháy - PCCC tại tòa nhàBài học phòng cháy chữa cháy - PCCC tại tòa nhà
Bài học phòng cháy chữa cháy - PCCC tại tòa nhà
 
26 Truyện Ngắn Sơn Nam (Sơn Nam) thuviensach.vn.pdf
26 Truyện Ngắn Sơn Nam (Sơn Nam) thuviensach.vn.pdf26 Truyện Ngắn Sơn Nam (Sơn Nam) thuviensach.vn.pdf
26 Truyện Ngắn Sơn Nam (Sơn Nam) thuviensach.vn.pdf
 
ĐỀ KIỂM TRA CUỐI KÌ 2 BIÊN SOẠN THEO ĐỊNH HƯỚNG ĐỀ BGD 2025 MÔN TOÁN 10 - CÁN...
ĐỀ KIỂM TRA CUỐI KÌ 2 BIÊN SOẠN THEO ĐỊNH HƯỚNG ĐỀ BGD 2025 MÔN TOÁN 10 - CÁN...ĐỀ KIỂM TRA CUỐI KÌ 2 BIÊN SOẠN THEO ĐỊNH HƯỚNG ĐỀ BGD 2025 MÔN TOÁN 10 - CÁN...
ĐỀ KIỂM TRA CUỐI KÌ 2 BIÊN SOẠN THEO ĐỊNH HƯỚNG ĐỀ BGD 2025 MÔN TOÁN 10 - CÁN...
 
xemsomenh.com-Vòng Lộc Tồn - Vòng Bác Sĩ và Cách An Trong Vòng Lộc Tồn.pdf
xemsomenh.com-Vòng Lộc Tồn - Vòng Bác Sĩ và Cách An Trong Vòng Lộc Tồn.pdfxemsomenh.com-Vòng Lộc Tồn - Vòng Bác Sĩ và Cách An Trong Vòng Lộc Tồn.pdf
xemsomenh.com-Vòng Lộc Tồn - Vòng Bác Sĩ và Cách An Trong Vòng Lộc Tồn.pdf
 
TUYỂN TẬP ĐỀ THI GIỮA KÌ, CUỐI KÌ 2 MÔN VẬT LÍ LỚP 11 THEO HÌNH THỨC THI MỚI ...
TUYỂN TẬP ĐỀ THI GIỮA KÌ, CUỐI KÌ 2 MÔN VẬT LÍ LỚP 11 THEO HÌNH THỨC THI MỚI ...TUYỂN TẬP ĐỀ THI GIỮA KÌ, CUỐI KÌ 2 MÔN VẬT LÍ LỚP 11 THEO HÌNH THỨC THI MỚI ...
TUYỂN TẬP ĐỀ THI GIỮA KÌ, CUỐI KÌ 2 MÔN VẬT LÍ LỚP 11 THEO HÌNH THỨC THI MỚI ...
 
Xem sim phong thủy luận Hung - Cát số điện thoại chính xác nhất.pdf
Xem sim phong thủy luận Hung - Cát số điện thoại chính xác nhất.pdfXem sim phong thủy luận Hung - Cát số điện thoại chính xác nhất.pdf
Xem sim phong thủy luận Hung - Cát số điện thoại chính xác nhất.pdf
 
C.pptx. Phát hiện biên ảnh trong xử lý ảnh
C.pptx. Phát hiện biên ảnh trong xử lý ảnhC.pptx. Phát hiện biên ảnh trong xử lý ảnh
C.pptx. Phát hiện biên ảnh trong xử lý ảnh
 
PHIẾU KHẢO SÁT MỨC ĐỘ HÀI LÒNG VỀ CHẤT LƯỢNG DỊCH VỤ VẬN CHUYỂN HÀNG KHÁCH BẰ...
PHIẾU KHẢO SÁT MỨC ĐỘ HÀI LÒNG VỀ CHẤT LƯỢNG DỊCH VỤ VẬN CHUYỂN HÀNG KHÁCH BẰ...PHIẾU KHẢO SÁT MỨC ĐỘ HÀI LÒNG VỀ CHẤT LƯỢNG DỊCH VỤ VẬN CHUYỂN HÀNG KHÁCH BẰ...
PHIẾU KHẢO SÁT MỨC ĐỘ HÀI LÒNG VỀ CHẤT LƯỢNG DỊCH VỤ VẬN CHUYỂN HÀNG KHÁCH BẰ...
 
các nội dung phòng chống xâm hại tình dục ở trẻ em
các nội dung phòng chống xâm hại tình dục ở trẻ emcác nội dung phòng chống xâm hại tình dục ở trẻ em
các nội dung phòng chống xâm hại tình dục ở trẻ em
 
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
 
Hướng dẫn viết tiểu luận cuối khóa lớp bồi dưỡng chức danh biên tập viên hạng 3
Hướng dẫn viết tiểu luận cuối khóa lớp bồi dưỡng chức danh biên tập viên hạng 3Hướng dẫn viết tiểu luận cuối khóa lớp bồi dưỡng chức danh biên tập viên hạng 3
Hướng dẫn viết tiểu luận cuối khóa lớp bồi dưỡng chức danh biên tập viên hạng 3
 
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
30 ĐỀ PHÁT TRIỂN THEO CẤU TRÚC ĐỀ MINH HỌA BGD NGÀY 22-3-2024 KỲ THI TỐT NGHI...
 
20 ĐỀ DỰ ĐOÁN - PHÁT TRIỂN ĐỀ MINH HỌA BGD KỲ THI TỐT NGHIỆP THPT NĂM 2024 MÔ...
20 ĐỀ DỰ ĐOÁN - PHÁT TRIỂN ĐỀ MINH HỌA BGD KỲ THI TỐT NGHIỆP THPT NĂM 2024 MÔ...20 ĐỀ DỰ ĐOÁN - PHÁT TRIỂN ĐỀ MINH HỌA BGD KỲ THI TỐT NGHIỆP THPT NĂM 2024 MÔ...
20 ĐỀ DỰ ĐOÁN - PHÁT TRIỂN ĐỀ MINH HỌA BGD KỲ THI TỐT NGHIỆP THPT NĂM 2024 MÔ...
 

Phát Triển Ứng Dụng Tự Động Lấy Mã Hàng Và Thông Tin Người Mua Hàng Từ Comment

  • 1. TRƯỜNG ĐẠI HỌC GIAO THÔNG VẬN TẢI TP. HỒ CHÍ MINH KHOA CÔNG NGHỆ THÔNG TIN THỰC TẬP TỐT NGHIỆP Phát Triển Ứng Dụng Tự Động Lấy Mã Hàng VàThông Tin Người Mua Hàng Từ Comment Tải bài mẫu qua zalo 0936.885.877 Tham khảo dịch vụ làm báo cáo thực tập luanvantrithuc.com Ngành: Công nghệ thông tin Chuyên ngành: Công nghệ thông tin Giảng viên hướng dẫn : ThS. Đặng Nhân Cách Sinh viên thực hiện : Triệu Kim Sơn 1651120116 CN16B Lê Thanh Tài 1651120117 CN16B TP. Hồ Chí Minh, ngày 05 tháng 05 năm 2020
  • 2. i TRƯỜNG ĐẠI HỌC GIAO THÔNG VẬN TẢI TP. HỒ CHÍ MINH KHOA CÔNG NGHỆ THÔNG TIN --------------------------------------- TRIỆU KIM SƠN LÊ THANH TÀI PHÁT TRIỂN ỨNG DỤNG TỰ ĐỘNG LẤY MÃ HÀNG VÀ THÔNG TIN NGƯỜI MUA HÀNG TỪ COMMENT NGÀNH: CÔNG NGHỆ THÔNG TIN CHUYÊN NGÀNH: CÔNG NGHỆ THÔNG TIN BÁO CÁO THỰC TẬP TỐT NGHIỆP NGƯỜI HƯỚNG DẪN ThS. Đặng Nhân Cách TP. HỒ CHÍ MINH – 2020
  • 3. ii LỜI CAM ĐOAN Chúng em bằng những sự cố gắng và nỗ lực tìm hiểu, học hỏi của bản thân mình. Với những tìm tòi từ thực tế và với những kiến thức đã học chúng em đã nghiên cứu về quy trình lấy những comment trên mạng xã hội Facebook hiện nay bằng Graph-API của chính Facebook cung cấp cho những nhà phát triển Facebook muốn tải dữ liệu vào hoặc lấy dữ liệu ra khỏi nền tảng của Facebook, nhóm chúng em cũng đã phát triển một ứng dụng lấy mã hàng và thông tin của người mua hàng từ comment trên chính fanpage của nhóm ở trên mạng xã hội Facebook ngày nay. Từ những ngôn ngữ C, C++, C#,… thư viện Windows Forms,… đã học và những tham khảo từ anh chị khoá trước, thông tin trên mạng đã giúp nhóm chúng em hoàn thành tốt TTTN của mình. Chúng em xin chịu hoàn toàn trách nhiệm với những gì mình đã viết. Mặc dù đã cố gắng hoàn thành đề tài với tất cả sự nỗ lực của bản thân, nhưng chắc chắn không thể tránh khỏi những thiếu sót nhất định, kính mong sự cảm thông và tận tình chỉ bảo của quý Thầy Cô. Chúng em xin chân thành cảm ơn. TP.HCM, ngày 05 tháng 05 năm 2020 Nhóm sinh viên thực hiện Triệu Kim Sơn Lê Thanh Tài
  • 4. iii MỤC LỤC LỜI CAM ĐOAN.......................................................................................................................I MỤC LỤC ...............................................................................................................................III DANH MỤC HÌNH ẢNH ........................................................................................................V DANH MỤC CÁC TỪ VIẾT TẮT ....................................................................................VIII LỜI MỞ ĐẦU ............................................................................................................................1 CHƯƠNG 1: GIỚI THIỆU ......................................................................................................2 1.1 Động cơ thực hiện đề tài......................................................................................................2 1.2 Mục tiêu của đề tài...............................................................................................................3 1.3 Giới hạn của đề tài...............................................................................................................3 1.4 Cấu trúc của đề tài...............................................................................................................4 1.5 Phương pháp nghiên cứu ....................................................................................................4 CHƯƠNG 2: CƠ SỞ LÝ THUYẾT.........................................................................................5 2.1 Giới thiệu API ......................................................................................................................5 2.2 Tổng quan về Facebook.......................................................................................................7 2.1.1 Nền tảng cho nhà phát triển của Facebook .............................................................8 2.1.2 Giới thiệu Facebook Graph-API ..............................................................................9 2.1.2.1 Nút (Node) ........................................................................................................12 2.1.2.2 Trường (Field)..................................................................................................13 2.1.2.3 Cạnh (Edge)......................................................................................................13 2.1.2.4 HTTP và URL..................................................................................................14 2.1.2.5 Access Token ....................................................................................................15 2.1.2.6 Kết quả Facebook trả về .................................................................................16 2.1.2.7 Debugging.........................................................................................................17 2.1.3 Get Access Token Facebook ...................................................................................18 2.1.3.1 Oauth 2.0 ..........................................................................................................18 2.1.3.2 Các cách lấy Access Token..............................................................................18 2.3 Sử dụng Graph-API để lấy comments từ fanpage cá nhân ...........................................26 CHƯƠNG 3: TRIỂN KHAI HỆ THỐNG.............................................................................30 3.1 Lấy dữ liệu Comment........................................................................................................30
  • 5. iv 3.2 Giới thiệu dữ liệu ...............................................................................................................34 3.3 Tiền xử lý dữ liệu ...............................................................................................................36 3.4 Xử lý dữ liệu Comment .....................................................................................................39 3.4.1 Giới thiệu .....................................................................................................................39 3.4.2 Quy trình lấy những comment đi trích lọc...............................................................39 3.5 Trích lọc các đặc trưng......................................................................................................41 3.5.1 Giải thuật trích lọc......................................................................................................41 3.5.2 Lấy mã hàng từ Comment .........................................................................................41 3.5.3 Lấy số lượng từ Comment..........................................................................................42 3.5.4 Lấy Email từ Comment..............................................................................................43 3.5.5 Lấy số điện thoại từ Comment...................................................................................44 3.6 Kết quả dữ liệu sau khi được xử lý ..................................................................................44 CHƯƠNG 4: XÂY DỰNG VÀ ĐÁNH GIÁ HỆ THỐNG ...................................................46 4.1 Giới thiệu ............................................................................................................................46 4.2 Cài đặt hệ thống.................................................................................................................46 4.3 Kết quả................................................................................................................................50 4.4 Đánh giá..............................................................................................................................50 CHƯƠNG 5: KẾT LUẬN.......................................................................................................51 5.1 Kết luận...............................................................................................................................51 5.2 Hướng mở rộng phát triển................................................................................................51 TÀI LIỆU THAM KHẢO.........................................................................................................0
  • 6. v DANH MỤC HÌNH ẢNH Hình 2. 1: Hoạt động của API................................................................................6 Hình 2. 2: Chính sách mới của Facebook về việc truy vấn bình luận ...................8 Hình 2. 3: Facebook tạm dừng xác nhận ứng dụng cá nhân vì đại dịch COVID- 19............................................................................................................................9 Hình 2. 4: Đồ thị xã hội........................................................................................10 Hình 2. 5: Mô hình lấy dữ liệu từ Facebook Graph-API.....................................11 Hình 2. 6: Giao diện của trình khám phá API đồ thị của Facebook ....................12 Hình 2. 7: Truy vấn đối tượng sử dụng trình khám phá API đồ thị.....................12 Hình 2. 8: Truy vấn đến trường friend của đối tượng..........................................13 Hình 2. 9: Truy vấn đến trường friend đối tượng gốc và trường like của những đối tượng trong trường friend của đối tượng gốc.................................................14 Hình 2. 10: HTTP request....................................................................................14 Hình 2. 11: Tạo mã truy cập thử nghiệm bằng trình khám phá API đồ thị .........15 Hình 2. 12: Người dùng được phép từ chối những quyền mà họ không muốn ...16 Hình 2. 13: Kết quả trả về khi lấy bình luận từ một post của fanpage cá nhân ...17 Hình 2. 14: Thông báo từ debugger .....................................................................17 Hình 2. 15: Sơ đồ hoạt động của OAuth 2.0........................................................18 Hình 2. 16: Tạo ứng dụng mới trong phần nhà phát triển của facebook .............19 Hình 2. 17: Giao diện ứng dụng sau khi tạo ........................................................19 Hình 2. 18: Thêm quyền và tính năng vào yêu cầu của ứng dụng.......................20 Hình 2. 19: Xét duyệt ứng dụng...........................................................................20 Hình 2. 20: Thông tin về ứng dụng......................................................................21 Hình 2. 21: Sơ đồ quy trình đăng nhập ................................................................21 Hình 2. 22: URL trang đăng nhập facebook ........................................................22 Hình 2. 23: Giao diện đăng nhập facebook..........................................................23 Hình 2. 24: URL trả về.........................................................................................23
  • 7. vi Hình 2. 25: HTTP get request..............................................................................23 Hình 2. 26: Kết quả trả về của request access token............................................24 Hình 2. 27: Lệnh gọi đến graph api .....................................................................24 Hình 2. 28: Mục công cụ của nhà phát triển facebook ........................................25 Hình 2. 29: Trang công cụ hổ trợ.........................................................................25 Hình 2. 30: Giao diện trình khám phá API đồ thị................................................26 Hình 2. 31: Ô mã truy cập....................................................................................26 Hình 2. 32: Chọn quyền quản lí page ..................................................................27 Hình 2. 33: Chọn page để cho phép sử dụng.......................................................27 Hình 2. 34: Cho phép ứng quản lí page ...............................................................28 Hình 2. 35: Id của page........................................................................................28 Hình 2. 36: Id của post.........................................................................................28 Hình 2. 37: Kết quả json của yêu cầu HTTP GET ..............................................29 Hình 3. 1: Thời gian đăng lên của Post [7]..........................................................31 Hình 3. 2: URL có chứa id...................................................................................31 Hình 3. 3: Tạo ứng có tên là Get_comment.........................................................32 Hình 3. 4: Tạo access token .................................................................................32 Hình 3. 5: HTTP GET request để lấy dữ liệu ......................................................33 Hình 3. 6: Ví dụ thư viện newtonson..................................................................36 Hình 3. 7: Ví dụ nội dung comment lấy về được.................................................37 Hình 3. 8: Ví dụ người dùng nhập .......................................................................38 Hình 3. 9: Ví dụ xử lý dữ liệu comment..............................................................38 Hình 3. 10: Ví dụ xử lý dữ liệu comment............................................................40 Hình 3. 11: Xử lý lấy mã hàng.............................................................................42 Hình 3. 12: Xử lý lấy số lượng ............................................................................43 Hình 3. 13: Xử lý lấy Email.................................................................................43 Hình 3. 14: Xử lý lấy số điện thoại......................................................................44
  • 8. vii Hình 3. 15: Dữ liệu xuất ra file CSV ...................................................................45 Hình 4. 1: Cài đặt hệ thống 1...............................................................................47 Hình 4. 2: Cài đặt hệ thống 2...............................................................................47 Hình 4. 3: Cài đặt hệ thống 3...............................................................................48 Hình 4. 4: Cài đặt hệ thống 4...............................................................................48 Hình 4. 5: Cài đặt hệ thống 5...............................................................................49 Hình 4. 6: Cài đặt hệ thống 6...............................................................................49 Hình 4. 7: Giao diện hệ thống..............................................................................50
  • 9. viii DANH MỤC CÁC TỪ VIẾT TẮT API Application Programming Interface HTTP HyperText Transfer Protocol WWW World Wide Web URL Universal Resource Locator JSON JavaScript Object Notation ID Identification Oauth Open với Authetication GET Gửi yêu cầu để lấy tài nguyên hoặc đọc thông tin từ máy chủ GUI Graphical User Interface CSV Comma Separated Value
  • 10. 1 LỜI MỞ ĐẦU Ngày nay, ứng dụng công nghệ thông tin và việc tin học hoá được xem là một trong những yếu tố mang tính quyết định trong hoạt động của các chính phủ, tổ chức, cũng như của các công ty, nó đóng vai trò hết sức quan trọng, có thể tạo ra những bước đột phá mạnh mẽ. Cùng với sự phát triển không ngừng về kỹ thuật máy tính và mạng điện tử, công nghệ thông tin cũng được những công nghệ có đẳng cấp cao và lần lượt chinh phục hết đỉnh cao này đến đỉnh cao khác. Mạng Internet là một trong những sản phẩm có giá trị hết sức lớn lao và ngày càng trở thành một công cụ không thể thiếu, là nền tảng chính cho sự truyền tải, trao đổi thông tin trên toàn cầu. Giờ đây, mọi việc liên quan đến thông tin trở nên thật dễ dàng cho người sử dụng: chỉ cần có một máy tính kết nối Internet và một dòng dữ liệu truy tìm thì gần như lập tức,… cả thế giới về vấn đề mà bạn đang quan tâm sẽ hiện ra, có đầy đủ thông tin, hình ảnh và thậm chí đôi lúc có cả những âm thanh nếu bạn cần. Bằng Internet, chúng ta đã thực hiện được nhiều công việc với tốc độ nhanh hơn và chi phí thấp hơn nhiều so với cách thức truyền thống. Chính điều này, đã thúc đẩy sự khai sinh và phát triển của mạng xã hội điện tử trên khắp thế giới, làm biến đổi đáng kể bộ mặt văn hoá, nâng cao chất lượng cuộc sống con người. Mạng xã hội không chỉ mang lại những thông tin cập nhật hàng ngày trong nước, thế giới trong nhiều lĩnh vực mà còn đăng tải những thông chia sẻ bạn bè và người thân với nhau. Ngoài ra, mạng xã hội còn có thể quảng bá giới thiệu sản phẩm từ những doanh nghiệp, cửa hàng hay shop cá nhân,… Từ những lợi ích chia sẻ thông tin trên mạng xã hội mang lại đã sinh ra một cách bán hàng online trên mạng xã hội. Vì vậy nhóm chúng em đã lựa chọn và thực hiện đề tài “Phát triển ứng dụng tự động lấy mã hàng và thông tin người mua hàng từ comment”.
  • 11. 2 CHƯƠNG 1: GIỚI THIỆU 1.1 Động cơ thực hiện đề tài Khai phá tài nguyên mạng xã hội là một lĩnh vực quan trọng và là một phần của nhiệm vụ trong ngành công nghệ thông tin. Web 2.0 đã dẫn đến sự xuất hiện của blog, diễn đàn và mạng xã hội trực tuyến cho phép người dùng thảo luận về bất kỳ chủ đề nào và chia sẻ ý kiến của họ về nó. Ví dụ: phàn nàn về một sản phẩm mà họ đã mua, tranh luận về các vấn đề hiện tại hoặc bày tỏ quan điểm chính trị của họ hoặc đặt mua các sản phẩm trực tiếp trên bình luận. Khai thác thông tin người dùng như vậy là chìa khóa cho hoạt động của nhiều ứng dụng (như hệ thống đề xuất), hơn nữa trong việc khai thác này có giúp các doanh nghiệp nhỏ lẻ có thể quảng bá, buôn bán một cách nhanh chóng và thuận lợi cho chính chủ doanh nghiệp cũng như khách hàng. Bên cạch đó, các doanh nghiệp lớn và vừa cũng có thể lợi dụng việc khai thác thông tin ấy để biết được xu thế hàng hóa, tạo sự kiện cũng như quản lý những thông tin cần thiết. Tuy nhiên, việc phân tích các thông tin trên mạng xã hội thành các thông tin có ích cho doanh nghiệp một cách tự động là một nhiệm vụ không quá dễ dàng. Cùng với sự phát triển vượt bật của các công nghệ, việc bảo vệ thông tin người dùng cũng trở thành vấn đề cấp bách của các công ty điều hành mạng xã hội. Họ phải thắt chặt các yêu cầu cũng như chính sách về khai thác tài nguyên trên mạng xã hội của họ. Điều này làm cho việc khai thác cũng như phân tích tài nguyên gặp thêm nhiều khó khăn. Trong nghiên cứu này, nhóm xây dựng một phần mềm để có thể lấy được các comments từ fanpage của bản thân và phân tích chúng để lọc ra các thông tin có giá trị để hỗ trợ việc bán hàng online cho các doanh nghiệp nhỏ lẻ như số điện
  • 12. 3 thoại, mã hàng, email, số lượng hàng đặt. Bên cạnh đó, nhóm sẽ nghiên cứu và sử dụng các công cụ hỗ trợ có sẵn mà các công ty mạng xã hội làm để giúp các nhà phát triển trên nền tảng của mình. Dựa vào kết quả nghiên cứu, nhóm có thể mở rộng sàng lọc các loại thông tin khác trên mạng xã hội cũng như trên nhiều ngôn ngữ khác nhau. 1.2 Mục tiêu của đề tài Mục tiêu đề tài nghiên cứu là xây dựng một ứng dụng giúp tự động lấy các comments của một fanpage cá nhân trên mạng xã hội và lọc ra được những thông tin cần thiết cho việc bán hàng online như mã hàng, số điện thoại, email, số lượng hàng đặt. Việc lấy comments tự động có nhiều cấp độ như sau: Cấp độ 1: Sử dụng API của nhà cung cấp, người dùng phải cung cấp access token và các thông tin cần thiết khác. Cấp độ 2: Sử dụng API của nhà cung cấp và tự động lấy access token bằng việc đăng nhập vào tài khoản mạng xã hội. Cấp độ 3: Crawl thông tin của trang web lấy lấy thông tin comments từ đó. Đối với nghiên cứu này, nhóm dừng lại ở cấp độ đầu tiên. 1.3 Giới hạn của đề tài Các giới hạn của đề tài được đề cập sau đây:  Tập trung vào lấy comment của mạng xã hội Facebook.  Sử dụng các công cụ, API mà Facebook cung cấp để lấy được các comments từ fanpage.  Tập trung vào lấy comment của fanpage cá nhân.
  • 13. 4  Phân tích comments để lấy ra được các thông tin có ích cho việc bán hàng online. 1.4 Cấu trúc của đề tài Phần trên là chương 1: Giới thiệu động cơ thực hiện cũng như mục tiêu và giới hạn của đề tài nghiên cứu. Những phần còn lại của đề tài được trình bày như sau:  Chương 2: Giới thiệu cơ sở lý thuyết và Facebook Graph-API dùng để thực hiện trong nghiên cứu và phát triển mô hình.  Chương 3: Triển khai hệ thống, hiện thực việc lấy comment từ Graph- API của Facebook và những xử lý dữ liệu lấy về được để hiển thị trên giao diện sau đó xuất ra file CSV.  Chương 4: Cài đặt hệ thống, đánh giá kết quả chạy trên 300 comment và hiệu quả việc xử lý trên những comment lấy được.  Chương 5: Tổng kết, đánh giá và vạch hướng mở rộng cho tương lai của hệ thống. 1.5 Phương pháp nghiên cứu Sử dụng các lý thuyết trong cuốn sách “Mining the Social Web 3rd Edition”, đồng thời sử dụng các tài liệu về graph API cũng như các công cụ hỗ trợ mà chính Facebook tạo ra để hỗ trợ cho các nhà phát triển. Bên cạnh đó nhóm còn sử dụng một số thư viện hỗ trợ miển phí để lập trình C# như “newtonson”, “regex”,….
  • 14. 5 CHƯƠNG 2: CƠ SỞ LÝ THUYẾT 2.1 Giới thiệu API Giao diện lập trình ứng dụng (tiếng Anh Application Programming Interface, viết tắt API) [1] là một giao diện mà một hệ thống máy tính hay ứng dụng cung cấp để cho phép các yêu cầu dịch vụ có thể được tạo ra từ các chương trình máy tính khác, và/hoặc cho phép dữ liệu có thể được trao đổi qua lại giữa chúng. Chẳng hạn, một chương trình máy tính có thể (và thường là phải) dùng các hàm API của hệ điều hành để xin cấp phát bộ nhớ và truy xuất tập tin. Nhiều loại hệ thống và ứng dụng thực hiện API, như các hệ thống đồ họa, cơ sở dữ liệu, mạng, dịch vụ web, và ngay cả một số trò chơi máy tính. Đây là phần mềm hệ thống cung cấp đầy đủ các chức năng và các tài nguyên mà các lập trình viên có thể rút ra từ đó để tạo nên các tính năng giao tiếp người- máy như: các trình đơn kéo xuống, tên lệnh, hộp hội thoại, lệnh bàn phím và các cửa sổ. Một trình ứng dụng có thể sử dụng nó để yêu cầu và thi hành các dịch vụ cấp thấp do hệ điều hành của máy tính thực hiện. Hệ giao tiếp lập trình ứng dụng giúp ích rất nhiều cho người sử dụng vì nó cho phép tiết kiệm được nhiều thời gian tìm hiểu các chương trình mới, do đó khích lệ mọi người dùng nhiều ứng dụng hơn. Nói cách dễ hiểu API là một phần mềm trung gian cho phép hai ứng dụng nói chuyện với nhau. Mỗi khi sử dụng một ứng dụng như Facebook, gửi tin nhắn tức thì hoặc kiểm tra thời tiết trên điện thoại, có nghĩa là bạn đang sử dụng API. Khi sử dụng một ứng dụng trên điện thoại di động, ứng dụng kết nối Internet và gửi dữ liệu tới máy chủ. Sau đó, máy chủ lấy ra dữ liệu đó, diễn giải nó, thực hiện các hành động cần thiết và gửi nó trở lại điện thoại. Ứng dụng sau đó sẽ diễn giải dữ liệu đó và trình bày thông tin bạn muốn theo cách có thể đọc được.
  • 15. 6 Hình 2. 1: Hoạt động của API Hãy tượng tưởng, trong một nhà hàng, chúng ta là khách hàng gọi món ăn và nhà bếp là một phần “hệ thống” chuẩn bị thực đơn cho chúng ta. Cái còn thiếu ở đây là liên kết quan trọng để truyền đạt yêu cầu của khách hàng tới nhà bếp và chuyển đồ ăn tới bàn cho họ. Liên kết quan trọng này chính là bồi bàn hoặc API. Người bồi bàn - API là người đưa tin, sẽ nhận yêu cầu gọi món và truyền đạt lại tới nhà bếp - hệ thống. Sau khi thức ăn đã sẵn sàng, bồi bàn sẽ chuyển nó tới khách hàng. Đây là một ví dụ thực tế về API. Chúng ta có thể đã quen thuộc với quá trình tìm kiếm các chuyến bay trực tuyến. Cũng giống như nhà hàng, bạn có nhiều lựa chọn như các thành phố khác nhau, ngày khởi hành và ngày trở lại, v.v… Hãy tưởng tượng bạn đang đặt vé máy bay trên một trang web của hãng hàng không. Chúng ta có thể chọn địa điểm đến, ngày đi, ngày về, loại vé cũng như rất nhiều lựa chọn khác. Để đặt chuyến bay, bạn cần tương tác với trang web của hãng hàng không để truy cập vào cơ sở dữ liệu của họ và xem ghế còn trống trong một ngày nhất định và giá cả như thế nào.
  • 16. 7 Tuy nhiên, nếu chúng ta không sử dụng trang web của hãng hàng không - một kênh có quyền truy cập trực tiếp vào thông tin thì sao? Điều gì sẽ xảy ra nếu bạn đang sử dụng dịch vụ du lịch trực tuyến, chẳng hạn như Kayak hoặc Expedia, vậy làm thế nào để truy cập vào các cơ dữ liệu của hãng hàng không? Trong trường hợp này, dịch vụ du lịch tương tác với API của hãng hàng không, yêu cầu nó để lấy thông tin từ cơ sở dữ liệu của hãng hàng không. Sau đó API sẽ chuyển phản hồi của hãng hàng không đến yêu cầu của khách hàng và chuyển nó trở lại dịch vụ du lịch online, hiển thị cho bạn thông tin có liên quan được cập nhật nhanh nhất. Trong những năm qua, API thường được mô tả là giao diện kết nối chung cho một ứng dụng. Tuy nhiên gần đây, API hiện đại có một số đặc điểm làm cho chúng trở nên hữu ích và có giá trị hơn:  Các API hiện đại tuân thủ các tiêu chuẩn (thường là HTTP và REST), có tính dễ sử dụng và dễ hiểu và thân thiện với các nhà phát triển.  API được xử lý giống như sản phẩm hơn là code. Chúng được thiết kế cho các đối tượng cụ thể (ví dụ: nhà phát triển thiết bị di động).  Vì chúng được chuẩn hóa nhiều hơn, nên tính bảo mật và quản trinh mạnh hơi, cũng như được theo dõi và quản lý hiệu suất, quy mô tốt hơn.  Như bất kỳ phần mềm sản phẩm nào khác, API hiện đại có chu kỳ phát triển phần mềm (SDLC) riêng của nó về thiết kế, thử nghiệm, xây dựng, quản lý. 2.2 Tổng quan về Facebook Facebook [2] là một trong những mạng xã hội lớn nhất thế giới, với hơn 1 tỉ người dùng hoạt động hàng ngày như cập nhật status, đăng bài viết, ảnh, trao đổi tin nhắn, trò chuyện trực tuyến, check in những địa điểm có thật, mua sắm và gần như mọi thứ khác.
  • 17. 8 Đứng từ góc độ lập trình viên Facebook sở hữu khối lượng thông tin khổng lồ về cá nhân, nhóm, sản phẩm và cũng vô cùng thú vị. Bởi vì Facebook có cho phép người dùng truy cập đến dữ liệu của họ để lấy những thông tin có giá trị ấy bằng cách sử dụng API mà Facebook tạo ra. Tuy nhiên Facebook cũng đưa ra những quy tắc về quyền riêng tư để bảo vệ người dùng của mình khỏi việc bị khai thác thông tin cá nhân. Hình 2. 2: Chính sách mới của Facebook về việc truy vấn bình luận Như vậy, để có thể truy cập được dữ liệu của Facebook, người lập trình, nghiên cứu phải có ít nhất là một tài khoản Facebook vẫn còn đang hoạt động. 2.1.1 Nền tảng cho nhà phát triển của Facebook Facebook là một nền tảng vô cùng mạnh mẽ, có thể nói đây là nền tảng đầy đủ và được tổ chức tốt nhất về việc lưu trữ thông tin, cả về chiều rộng và chiều sâu. Về chiều rộng, nó rộng ở: lượng người dùng hiện tại của nó chiếm gần 1/4 dân số thế giới và về chiều sâu, nó sâu về số lượng thông tin mà nó có được của bất kì người dùng nào. Với một lập trình viên, cách duy nhất để lấy được dữ liệu của Facebook là đăng kí một ứng dụng và sử dụng ứng dụng đó như là một tấm vé để có thể tham gia vào được nền tảng dành cho nhà phát triển của Facebook. Hơn nữa, dữ liệu mà
  • 18. 9 ứng dụng có thể lấy còn phụ thuộc vào cả sự cho phép của người dùng ứng dụng. Để rõ hơn về điều này, Facebook đã đưa ra một loạt các tài liệu về chính sách sử dụng nền tảng của Facebook [3] mà bất cứ lập trình viên muốn tham gia vào nền tảng cũng phải tuân theo. Chính sách này luôn được cập nhật dựa vào tình hình Facebook và thế giới. Hình 2. 3: Facebook tạm dừng xác nhận ứng dụng cá nhân vì đại dịch COVID- 19 Bên cạnh các chính sách phải tuân theo, Facebook còn bắt buộc nhà phát triển nộp ứng dụng của họ cho Facebook kiểm tra trước khi có thể sử dụng các dịch vụ hỗ trợ như đăng nhập Facebook, tiếp thị,… hoặc sản phẩm dành cho doanh nghiệp. 2.1.2 Giới thiệu Facebook Graph-API Trước hết Facebook coi các mối quan hệ giữa các thực thể như là một "Đồ thị xã hội" (Social Graph).
  • 19. 10 Hình 2. 4: Đồ thị xã hội Graph-API: là cấu trúc dữ liệu dạng đồ thị khổng lồ đại diện các tương tác xã hội, được tạo thành bởi những nút (node) và liên kết giữa chúng hay còn gọi là cạnh (edge). Facebook Graph-API [4] là cách chính để tải dữ liệu vào hoặc lấy dữ liệu ra khỏi nền tảng Facebook. Đó là API dựa trên HTTP mà ứng dụng có thể dùng để truy vấn dữ liệu, đăng tin mới, quản lý quảng cáo, tải ảnh lên và thực hiện nhiều tác vụ khác theo lập trình.
  • 20. 11 Hình 2. 5: Mô hình lấy dữ liệu từ Facebook Graph-API Graph API được đặt tên theo ý tưởng của một "đồ thị xã hội" - một đại diện của các thông tin trên Facebook bao gồm:  node (nút): Một cách cơ bản là những "thứ" người ta sử dụng, một hình ảnh, một trang, một nhận xét trong Facebook  edge (cạnh): Là các kết nối giữa những "thứ", chẳng hạn như kết nối giữa hình ảnh và trang chứa ảnh đó, hoặc một ghi chú và bức ảnh được ghi chú đó  field (trường/lĩnh vực): Thông tin về những "thứ", chẳng hạn như ngày sinh nhật của người sử dụng, hoặc tên của một trang.
  • 21. 12 Để làm quen được với Graph-API, Facebook đã hỗ trợ cho nhà phát triển trình khám phá API đồ thị (Graph API Explorer) để cho người dùng thử nghiệm những câu lệnh gọi API cũng như đưa ra những kết quả của lệnh gọi. Hình 2. 6: Giao diện của trình khám phá API đồ thị của Facebook 2.1.2.1 Nút (Node) Node là những đối tượng riêng biệt. Nói cách khác là những "thứ" người ta sử dụng, một hình ảnh, một trang, một nhận xét trong Facebook. Để có thể truy vấn đến một đối tượng trên Graph-API, trường (field ) ID phải được cung cấp. Hình 2. 7: Truy vấn đối tượng sử dụng trình khám phá API đồ thị
  • 22. 13 2.1.2.2 Trường (Field) Trường là dữ liệu, thông tin của một đối tượng, chẳng hạn như ngày sinh nhật của người sử dụng, hoặc tên của một trang. Có thể được truy vấn tới bằng cách chỉnh sửa một số thông số truy vấn đến đối tượng. Hình 2. 8: Truy vấn đến trường friend của đối tượng 2.1.2.3 Cạnh (Edge) Cạnh là liên kết giữa của tập hợp đối tượng với một đối tượng chẳng hạn như kết nối giữa hình ảnh và trang chứa ảnh đó, hoặc một ghi chú và bức ảnh được ghi chú đó. Có thể dùng cạnh để lấy tập hợp các đối tượng trên một đối tượng.
  • 23. 14 Hình 2. 9: Truy vấn đến trường friend đối tượng gốc và trường like của những đối tượng trong trường friend của đối tượng gốc Lưu ý: việc truy vấn như trên có thể không còn sử dụng được do những thay đổi về chính sách của Facebook. 2.1.2.4 HTTP và URL API đồ thị dựa trên giao thức HTTP nên API này hoạt động với bất kỳ ngôn ngữ nào có thư viện HTTP. Hầu như tất cả các yêu cầu đều được chuyển đến URL lưu trữ graph.facebook.com. Ngoại lệ duy nhất yêu cầu tải video, sử dụng graphvideo.facebook.com. Hình 2. 10: HTTP request
  • 24. 15 2.1.2.5 Access Token Access token là một loại mã cho phép người dùng cấp quyền cho những phần mềm thứ ba truy cập vào dữ liệu của họ mà không cần thông qua các thông tin bí mật như password của người dùng. Mỗi mã truy cập đều có những quyền hạng riêng tùy thuộc vào cấu hình của ứng dụng và sự cho phép của người dùng. Hình 2. 11: Tạo mã truy cập thử nghiệm bằng trình khám phá API đồ thị
  • 25. 16 Hình 2. 12: Người dùng được phép từ chối những quyền mà họ không muốn 2.1.2.6 Kết quả Facebook trả về JSON là chữ viết tắt của Javascript Object Notation, đây là một dạng dữ liệu tuân theo một quy luật nhất định mà hầu hết các ngôn ngữ lập trình hiện nay đều có thể đọc được. JSON có định dạng đơn giản, dễ dàng sử dụng và truy vấn hơn XML rất nhiều nên tính ứng dụng của nó hiện nay rất là phổ biến. Kết quả trả về của một truy vấn Graph API là dữ liệu thuộc dạng JSON nhằm có thể dễ dàng xử lý.
  • 26. 17 Hình 2. 13: Kết quả trả về khi lấy bình luận từ một post của fanpage cá nhân 2.1.2.7 Debugging Facebook cũng hỗ trợ một số công cụ debug trong trình khám phá API đồ thị để kiểm tra tại sao giá trị trả về không theo truy vấn cũng như access token. Hình 2. 14: Thông báo từ debugger
  • 27. 18 2.1.3 Get Access Token Facebook 2.1.3.1 Oauth 2.0 OAuth là viết tắt của Open với Authetication. Đây là một phương thức chứng thực giúp các ứng dụng có thể chia sẻ tài nguyên với nhau mà không cần chia sẻ thông tin username và password. Khi đăng nhập bằng Facebook hay Gmail, website sẽ dẫn đến trang (hoặc phần mềm) Facebook và liệt kê những quyền mà nó cần phải có để có thể đăng nhập và sử dụng dịch vụ. Nếu đồng ý thì lúc này Facebook sẽ phát cho website một access token. Token này chứa một số quyền hạn nhất định giúp cho website có thể xác minh người dùng là ai cũng như giúp cho website có thể hoạt động được. Facebook xây dựng Oauth 2.0 như cơ chế xác thực người dùng chuẩn của nó. Và để có thực hiện được những lời gọi API, access token là một thứ bắt buộc phải có. Hình 2. 15: Sơ đồ hoạt động của OAuth 2.0 2.1.3.2 Các cách lấy Access Token Việc đầu tiên phải làm khi muốn lấy được access token của Facebook[5] là tạo một ứng dụng và thông tin của nó trong phần nhà phát triển của Facebook. Trong quá trình thực hiện, kiểm thử hoặc chỉ lấy dữ liệu của bản thân, người dùng
  • 28. 19 có thể truy cập đến trình khám phá đồ thị API của Facebook để lấy access token thủ công. Hình 2. 16: Tạo ứng dụng mới trong phần nhà phát triển của facebook Hình 2. 17: Giao diện ứng dụng sau khi tạo
  • 29. 20 Hình 2. 18: Thêm quyền và tính năng vào yêu cầu của ứng dụng Hình 2. 19: Xét duyệt ứng dụng
  • 30. 21 Hình 2. 20: Thông tin về ứng dụng 3.1.3.2.1 Lấy Access Token bằng đăng nhập Hình 2. 21: Sơ đồ quy trình đăng nhập
  • 31. 22 Để có thể làm được bước này, đầu tiên ứng dụng phải bắt đầu chuyển hướng đến trang đăng nhập của Facebook: Hình 2. 22: URL trang đăng nhập facebook Điểm cuối này có những thông tin bắt buộc như sau:  client_id: ID của ứng dụng, có trong bảng điều khiển ứng dụng.  redirect_uri: URL mà bạn muốn chuyển hướng lại người đăng nhập đó về. URL này sẽ ghi phản hồi từ hộp thoại Đăng nhập. Nếu bạn sử dụng thông số này trong một chế độ xem web trong ứng dụng trên máy tính, bạn phải đặt thông số này thành facebook.com/connect/login_success.html. Bạn có thể xác nhận rằng URL này được đặt cho ứng dụng của bạn trong bảng điều khiển ứng dụng. Bên dưới sản phẩm trong menu điều hướng bên trái của Bảng điều khiển ứng dụng, nhấp vào Đăng nhập Facebook, sau đó nhấp vào Cài đặt. Xác minh URL chuyển hướng OAuth hợp lệ trong phần Cài đặt OAuth ứng dụng.  state : Một giá trị do ứng dụng tạo để duy trì trạng thái giữa yêu cầu và hồi đáp. Thông số này sẽ được dùng để ngăn giả mạo yêu cầu trên trang web và sẽ được chuyển lại cho bạn, giữ nguyên không đổi, trong URL chuyển hướng. Tại điểm này trong luồng đăng nhập, người này sẽ nhìn thấy hộp thoại Đăng nhập và có lựa chọn hủy hoặc cho phép ứng dụng truy cập dữ liệu của họ.
  • 32. 23 Hình 2. 23: Giao diện đăng nhập facebook Nếu người dùng ứng dụng chọn OK trên hộp thoại Đăng nhập, họ cấp quyền truy cập vào trang cá nhân công khai, danh sách bạn bè của mình và mọi quyền bổ sung mà ứng dụng yêu cầu. Trong mọi trường hợp, trình duyệt sẽ quay lại ứng dụng và bao gồm dữ liệu phản hồi cho biết ai đó đã kết nối hay hủy. Khi ứng dụng dùng phương thức chuyển hướng như trên, redirect_uri mà ứng dụng trả về sẽ được thêm vào với phân đoạn hoặc thông số URL (theo response_type đã chọn) cần được ghi. Hình 2. 24: URL trả về Từ giá trị của code ta sẽ lấy ra được access token để truy cập vào thông tin người dùng bằng cách gọi một HTTP GET request đến địa chỉ có dạng như sau: Hình 2. 25: HTTP get request
  • 33. 24 HTTP Get request để lấy access token  client_id: ID của ứng dụng.  redirect_uri: Đây là tham số bắt buộc và phải giống với request_url gốc mà bạn đã sử dụng khi bắt đầu quá trình đăng nhập OAuth.  client_secret: Khóa bí mật của ứng dụng duy nhất của bạn, được hiển thị trên Bảng điều khiển ứng dụng. Khóa bí mật của ứng dụng này không bao giờ được bao gồm trong mã phía ứng dụng hoặc trong mã nhị phân có thể giải mã. Điều này cực kỳ quan trọng là khóa này được giữ bí mật hoàn toàn và đó là vấn đề cốt lõi của bảo mật ứng dụng cũng như tất cả những người sử dụng khóa bí mật đó.  Code: Thông số nhận được từ sự chuyển hướng hộp thoại đăng nhập ở trên. Nếu thành công access token sẽ được trả về dưới dạng json. Hình 2. 26: Kết quả trả về của request access token Tới đây việc truy cập dữ liệu vô cùng dễ dàng, ta chỉ cần gọi Facebook graph API. Lưu ý dữ liệu có thể truy cập chỉ nằm trong phạm vi các quyền mà ứng dụng đã đề ra và quyền mà người dùng đã đồng ý. Hình 2. 27: Lệnh gọi đến graph api
  • 34. 25 2.1.3.2.2 Lấy Access Token bằng trình khám phá API đồ thị (Graph-API) Access token của trình khám API đồ thị là access token để thử nghiệm nên việc lấy access token này rất đơn giản. Tại trang chủ của trang nhà phát triển facebook, chúng ta có thể truy cập đến mục công cụ. Mục đó sẽ dẫn tới trang công cụ hỗ trợ của facebook. Hình 2. 28: Mục công cụ của nhà phát triển facebook Hình 2. 29: Trang công cụ hổ trợ
  • 35. 26 Tại đây chúng ta có thể truy cập đến trình khám API đồ thị từ mục công cụ Hình 2. 30: Giao diện trình khám phá API đồ thị Sau đó chọn những quyền cần cấp và bấm Generate Access Token. Facebook sẽ đưa ta đến trang đăng nhập như cách trên. Nếu thành công mã truy cập sẽ hiện ra ở ô mã truy cập. Hình 2. 31: Ô mã truy cập 2.3 Sử dụng Graph-API để lấy comments từ fanpage cá nhân Để có thể lấy được comments từ API chúng ta cần access token có thể lấy từ một trong hai cách ở trên. Ở đề tài này, nhóm sử dụng cách lấy access token từ trình khám phá API đồ thị.
  • 36. 27 Hình 2. 32: Chọn quyền quản lí page Hình 2. 33: Chọn page để cho phép sử dụng
  • 37. 28 Hình 2. 34: Cho phép ứng quản lí page Tiếp theo chúng ta cần id của trang cá nhân và id của post mà mình cần muốn lấy comment. Hình 2. 35: Id của page Id của post cũng có thể được lấy ở URL của post Hình 2. 36: Id của post
  • 38. 29 Khi có được id của page và post, chúng ta chỉ cần gửi một yêu cầu HTTP GET đến graph API có dạng https://graph.facebook.com/{page id}_{post id}?fields=comments&access_token={access token} Hình 2. 37: Kết quả json của yêu cầu HTTP GET Khi thành công, graph API sẽ trả về kết quả ở dạng json. Tuy nhiên những kí tự UTF-8 của kết quả json đều được mã hóa sang dạng latin-1. Vì thế nếu muốn có dữ liệu json chính xác, chúng cần có một thư viện để giải mã kết quả Json.
  • 39. 30 CHƯƠNG 3: TRIỂN KHAI HỆ THỐNG Trong chương 3 này nhóm sẽ giới thiệu cách lấy dữ liệu từ Facebook Graph- API và loại dữ liệu mà nhóm dùng để áp dụng trong bài thực tập này. Cùng với đó là những giải thuật và thư viện dùng để xử lý dữ liệu comment lấy được. Như chúng ta đã biết, hệ thống phần mềm nào cũng cần có một nguồn dữ liệu quy định cụ thể, để thuận lợi cho việc xử lý. Nên để hiện thực được hệ thống thì nhóm cũng cần phải có một bộ dữ liệu do chính nhóm tự tạo ra theo quy định giống như một cách bán hàng online trên mạng xã hội (chỉ cần comment đúng cú pháp như thế nào đó, thì sẽ đặt được hàng). Bộ dữ liệu đó được tạo ra như thế nào thì sẽ được nhóm giới thiệu cụ thể chi tiết trong chương này. 3.1 Lấy dữ liệu Comment Sau vụ kiện bảo mật người dùng của mạng xã hội lớn nhất thế giới liên quan đến công ty có tên Cambridge Analytica vào năm 2019 [6], Facebook đã thắc chặt các điều khoản về bảo vệ thông tin người dùng. Điều đó khiến cho chúng ta không thể lấy được comment của những post riêng biệt cũng comment trên fanpage của người khác. Tuy nhiên Facebook vẫn còn cho phép chúng ta lấy những comment trên fanpage của chính mình. Do đó ứng dụng của nhóm sẽ tập trung vào việc lấy dữ liệu comment từ fanpage riêng của cá nhân. Cách tiếp cận này cũng phù hợp với đề tài tự động lấy mã đăng ký khách hàng trên fanpage bán hàng online của chủ thể cá nhân…. Khi có được fanpage và post cần lấy, chúng ta cần phải biết được id của page và của post để ứng dụng có thể lấy dữ liệu được. Để lấy được id của page và post, chúng ta nhấn vào thời gian đăng lên của post phía dưới tên bài post.
  • 40. 31 Hình 3. 1: Thời gian đăng lên của Post [7] Khi đó trình duyệt sẽ chuyển qua trang khác và trên URL của trang đó có id của page và của post mà lấy comment về. Hình 3. 2: URL có chứa id Tiếp theo chúng ta cần đi lấy access token. Vì tình hình thế giới đang phải chống chọi với dịch bệnh COVID-19, nên Facebook đã tạm thời đóng không xét duyệt sản phẩm cá nhân nữa. Khiến cho việc lấy access token bằng đăng nhập Facebook của ứng dụng trở nên không thể. Tuy nhiên Facebook vẫn cho phép lấy access token thử nghiệm trên trình khám phá API bằng tay. Nên ứng dụng sẽ sử dụng cách lấy token này thực hiện lấy dữ liệu từ Facebook. Điều đầu tiên nhóm thực hiện là tạo một ứng dụng trên trang nhà phát triển facebook (developers.facebook.com/) để có thể sử dụng được dịch vụ của facebook.
  • 41. 32 Hình 3. 3: Tạo ứng có tên là Get_comment Tiếp theo nhóm truy cập vào trang trình khám phá API đồ thị (developers.facebook.com/tools/explorer/) của facebook để tạo access token. Hình 3. 4: Tạo access token Sau khi tạo xong, nhóm sẽ copy và lưu lại sử dụng cho việc lấy dữ liệu.
  • 42. 33 Khi có được id fanpage, id post, access token nhóm tạo một HTTP GET request đến graph.facebook.com cùng có thông tin trên để lấy comment của post về. Hình 3. 5: HTTP GET request để lấy dữ liệu Lúc này dữ liệu lấy được sẽ ở dạng json thuần và được lưu tạm thời trong ứng dụng. Để có được những dữ liệu này thì điều đầu tiên nhóm cần có một dữ liệu mà do chính nhóm tự giả lập bằng cách tự tạo ra một fanpage của chính nhóm trên trang mạng xã hội Facebook. Sau đó nhóm đăng một bài viết trên fanpage do nhóm tạo ra. Cụ thể bài đăng sẽ là nội dung cú pháp của một comment hợp lệ để đặt hàng trên fanpage, để cho tất cả khách hàng muốn mua hàng có thể comment đúng và chính xác yêu cầu bài đăng của nhóm và cũng như yêu cầu của người bán hàng trên trang mạng xã hội Facebook. Ban đầu nhóm cần ít comment để xử lý dữ liệu trong quá trình lập trình và kiểm thử nên đã tự comment trên bài viết của chính nhóm tự tạo ra, về sau nhóm cần nhiều comment hơn để kiểm tra độ chính xác và tốc độ của hệ thống nên nhóm đã cần nhiều dữ liệu hơn nên nhóm đã gửi link cho bạn bè biết đến bài viết và nhờ bạn bè comment giúp nhóm lấy được nhiều comment để xử lý và có thể đánh giá hệ thống hoạt động một cách có hiệu quả hay không. Và với tốc độ truyền tải thông tin trên mạng xã hội ngày nay thì cách mà nhóm giúp đỡ từ bạn bè trên mạng xã
  • 43. 34 hội cùng với bạn bè chia sẻ thì không mất nhiều thời gian nhóm có thể thu được hàng trăm hoặc có thể hơn và nhiều hơn nữa để nhóm có thể kiểm thử hệ thống chạy trên hàng trăm comment và nhiều hơn. 3.2 Giới thiệu dữ liệu Bộ dữ liệu này nhóm lấy từ fanpage trên mạng xã hội facebook do chính nhóm tạo ra để lấy bình luận từ nhiều người dùng comment vào bài viết mà nhóm đã đăng tin bán hàng để thu thập những bình luận mang đi phân tích. Nó là dữ liệu dạng Json: là chữ viết tắt của Javascript Object Notation, đây là một dạng dữ liệu tuân theo một quy luật nhất định mà hầu hết các ngôn ngữ lập trình hiện nay đều có thể đọc được, bạn có thể sử dụng lưu nó vào một file, một record trong cơ sở dữ liệu rất dễ dàng. Json có định dạng đơn giản, dễ dàng sử dụng và truy vấn hơn XML rất nhiều nên tính ứng dụng của nó hiện nay rất là phổ biến, theo nhóm thì trong tương lai tới trong các ứng dụng sẽ sử dụng nó là đa số. Json là một kiểu dữ liệu trung gian, chủ yếu được dùng để vận chuyển thông tin giữa các thành phần của một chương trình. Ban đầu nhóm tự giả lập comment trong chính bài viết do nhóm tạo ra khoảng 300 comment, trong đó những comment đúng với quy ước do chính nhóm đặt ra thì có khoảng 200 comment còn lại khoảng 100 comment còn lại là những comment sai so với comment theo quy ước của nhóm đặt ra từ lúc ban đầu. Những comment sai bao gồm là những comment sai với cú pháp ban đầu mà nhóm tự quy định, hoặc những comment sai cú pháp của một email, sai số điện thoại, sai mã hàng,… Ngoài những comment đúng với cú pháp do nhóm tự quy định thì những comment ví dụ như số điện thoại, mã hàng, số lượng, email,… đặt sai vị trí thì cũng tính là comment hợp lệ theo quy định của nhóm.
  • 44. 35 Dữ liệu sau khi sử dụng HTTP GET Request lấy về ở dạng json:
  • 45. 36 Cú pháp của Json rất đơn giản là mỗi thông tin dữ liệu sẽ có 2 phần đó là key và value, điều này tương ứng trong CSDL là tên field và giá trị của nó ở một record nào đó. Tuy nhiên nhìn qua thì đơn giản nhưng nếu ta mổ xẻ nó ra thì có một vài điều như sau:  Chuỗi JSON được bao lại bởi dấu ngoặc nhọn {}.  Các key, value của JSON bắt buộc phải đặt trong dấu nháy kép.  Nếu có nhiều dữ liệu (nhiều cặp key => value) thì ta dùng dấu phẩy (,) để ngăn cách.  Các key của Json được đặt chữ cái không dấu hoặc số, dấu _ và không có khoảng trắng. Cấu trúc dữ liệu Json khi lấy được từ Graph_API trả về:  Kích thước mẫu bằng tất cả các bình luận trong bài đăng.  Mỗi một comment hay là một bộ dữ liệu gồm có 3 trường dữ liệu trả về: “created_time”, “message” và “id” của chính bình luận đó. 3.3 Tiền xử lý dữ liệu Vì dữ liệu Json thuần Facebook trả về có dạng latin 1 nên muốn có thể sử dụng được dữ liệu này ta phải thám mã nó về lại dạng ban đầu. Ở đây nhóm sử dụng thư viện newtonson để có thể thám mã. Hình 3. 6: Ví dụ thư viện newtonson
  • 46. 37 Nội dung mỗi comment lấy về được gồm có ba phần:  “created_time”: thời gian lúc khách hàng comment vào bài viết.  “id”: id của bài viết + id của người bình luận.  “message”: nội dung comment. Hình 3. 7: Ví dụ nội dung comment lấy về được Dữ liệu comment facebook trả về sau khi được chuyển đổi về dạng chuẩn thì sẽ được lưu vào trong mảng. Mỗi comment sẽ lưu lại thời gian comment, id người dùng và nội dung của commet. Tiếp theo sẽ lấy nội dung của comment đi xử lý để lấy ra những thông tin cần lấy như: mã hàng, số lượng, email, số điện thoại.
  • 47. 38 Những comment mà khách hàng coment trên facebook sẽ không tránh khỏi dữ liệu xuống dòng khi người dùng nhập Ví dụ người dùng nhập: Hình 3. 8: Ví dụ người dùng nhập Những comment như này nội dung xuống dòng lúc này Facebook gửi dữ liệu về sẽ được ở dạng n Dữ liệu sau đó sẽ được chuyển từ HTTP GET Request Để xử lý nhóm sử dụng thư viện Regex để lọc những dấu n này ra để sau khi xử lý dữ liệu export ra file csv khỏi bị nhảy ô. using System.Text.RegularExpressions; string binhluan = Regex.Replace(comment, "n", " "); Dữ liệu sau khi được xử lý Hình 3. 9: Ví dụ xử lý dữ liệu comment
  • 48. 39 3.4 Xử lý dữ liệu Comment 3.4.1 Giới thiệu Để lấy được thông tin khách hàng từ comment trên trang mạng xã hội Facebook hệ thống sẽ quy định lấy ra được những thông tin: mã hàng, số lượng, email và số điện thoại của người comment. Cú pháp để người mua comment trên trang mạng xã hội facebook phải có gồm những thông tin để hệ thống tự động lọc ra được các comment đúng với một đơn đặt hàng. Sau khi lấy được những comment từ giai đoạn tiền xử lý dữ liệu thì ta sẽ đem những coment này để lấy ra được những thông tin sản phẩm và thông tin người mua từ những comment trên trang mạng xã hội Facebook. Hệ thống sẽ lọc lấy những comment đúng yêu cầu và sẽ bỏ qua những comment không đúng yêu cầu, sẽ duyệt hết chuỗi trong comment nếu có số điện thoại hoặc mã hàng và số điện thoại hoặc mã hàng, số điện thoại, email hoặc mã hàng, số điện thoại, số lượng hoặc có đủ cả 4 thông tin thì mới là comment đúng yêu cầu. 3.4.2 Quy trình lấy những comment đi trích lọc Sau khi lấy được dữ liệu comment trong bài viết trên mạng xã hội Facebook. Dữ liệu sẽ không thể tránh khỏi những dữ liệu rác như bị ngắt xuống dòng, sai font định dạng,… Vì vậy, nhóm sẽ đi lọc dữ liệu lấy được trước để thuận lợi cho những bước sau xử lý dữ liệu. Và sau đây là quy trình xử lý những comment lấy được trước khi đi vào giai đoạn trích lọc dữ liệu:
  • 49. 40 Hình 3. 10: Ví dụ xử lý dữ liệu comment
  • 50. 41 Bước 1: comment =GetComments() // Lấy comments clean_comments= CleantComments(comments) // Làm sạch dữ liệu Bước 2: Duyệt danh sách comment phone=getPhone(cm); email=getEmail(cm); mahang=getMahang(); soluong=getSoluong(); Add vào ds lưu file; Lặp lại bước 2; Bước 3: Lưu file CSV; 3.5 Trích lọc các đặc trưng 3.5.1 Giải thuật trích lọc 3.5.2 Lấy mã hàng từ Comment Để lấy mã hàng từ trong comment hệ thống sẽ duyệt hết chuỗi từ comment lấy được từ trang bán hàng trên mạng xã hội Facebook để so với định dạng đúng mã hàng của người dùng hệ thống tự đặt ra. Xử lý việc lấy được mã hàng nhóm xử dụng thư viện Regex định nghĩa một khuôn mẫu (pattern) tìm kiếm chuỗi. Nó có thể được sử dụng tìm kiếm, sửa đổi, và thao tác trên văn bản. Khuôn mẫu được định nghĩa bởi biểu thức chính quy có
  • 51. 42 thể khớp (match) một hoặc một vài lần, hoặc không khớp với một văn bản cho trước. using System.Text.RegularExpressions; Đầu tiên sẽ đi định nghĩa khuôn mẫu: Regex regMaHang = new Regex(@"[MH|mh|Mh|mH]+[0-9]{3}"); Khuôn mẫu này dùng để so sánh với chuỗi lấy được từ trong comment để lấy ra mã hàng có dạng ví dụ mã hàng có dạng là MHxxx trong đó xxx là 3 số tự nhiên. Hình 3. 11: Xử lý lấy mã hàng 3.5.3 Lấy số lượng từ Comment Để lấy số lượng từ trong comment hệ thống sẽ duyệt hết chuỗi từ comment lấy được từ trang bán hàng trên mạng xã hội Facebook để so với định dạng đúng số lượng của người dùng hệ thống tự đặt ra. Xử lý việc lấy được số lượng nhóm cũng sử dụng thư viện Regex: using System.Text.RegularExpressions; Đầu tiên sẽ đi định nghĩa khuôn mẫu: Regex regSl = new Regex(@"D[0-9]{1,2}D"); Khuôn mẫu này để so sánh với chuỗi lấy được từ trong comment để lấy ra số lượng có dạng số gồm 2 chữ số.
  • 52. 43 Hình 3. 12: Xử lý lấy số lượng 3.5.4 Lấy Email từ Comment Để lấy email từ trong comment hệ thống sẽ duyệt hết chuỗi từ comment lấy được từ trang bán hàng trên mạng xã hội Facebook để so với định dạng đúng của một email Xử lý việc lấy được email nhóm cũng sử dụng thư viện Regex: using System.Text.RegularExpressions; Đầu tiên sẽ đi định nghĩa khuôn mẫu: Regex regEmail = new Regex(@"[a-z0-9._@+-]+@([a-z0-9]+.)+[a-z]{2,6}"); Khuôn mẫu này để so sánh với chuỗi lấy được từ trong comment để lấy ra email đúng: Hình 3. 13: Xử lý lấy Email
  • 53. 44 3.5.5 Lấy số điện thoại từ Comment Để lấy số điện thoại từ trong comment hệ thống sẽ duyệt hết chuỗi từ comment lấy được từ trang bán hàng trên mạng xã hội Facebook để so với định dạng đúng của một số điện thoại Xử lý việc lấy được số điện thoại nhóm cũng sử dụng thư viện Regex: using System.Text.RegularExpressions; Đầu tiên sẽ đi định nghĩa khuôn mẫu: Regex regSdt = new Regex(@"b[0-9]{10,11}b"); Khuôn mẫu này để so sánh với chuỗi lấy được từ trong comment để lấy ra số điện thoại đúng: Hình 3. 14: Xử lý lấy số điện thoại 3.6 Kết quả dữ liệu sau khi được xử lý Dữ liệu khách hàng comment sau được hệ thống xử lý người dùng có thể lưu lại dữ liệu vào file csv để có thể quản lý dễ dàng. Hệ thống sau khi xử lý 300 comment và export ra file csv
  • 54. 45 Hình 3. 15: Dữ liệu xuất ra file CSV
  • 55. 46 CHƯƠNG 4: XÂY DỰNG VÀ ĐÁNH GIÁ HỆ THỐNG 4.1 Giới thiệu Sau khi phân tích và tìm hiểu công cụ để xữ lý dữ liệu thì nhóm đi đến xây dựng ứng dụng demo để lấy những comment từ bài đăng trên trang mạng xã hội Facebook của chính mình. Ứng dụng sẽ yêu cầu ba dữ liệu từ người dùng gồm:  ID Fanpage  ID bài viết  Access Token để cung cấp cho ứng dụng việc truy cập đến Graph-Api của Facebook để lấy những comment từ bài viết của Fanpage mà người dùng cung cấp. Việc xây dựng ứng dụng nhóm đã lựa chọn và xây dựng trên Windows Forms [8]: (WinForms) là thư viện lớp đồ họa (GUI) miễn phí và nguồn mở được bao gồm như một phần của Microsoft .NET Framework hoặc Mono Framework, cung cấp nền tảng để viết các ứng dụng khách phong phú cho máy tính để bàn, máy tính xách tay và máy tính bảng. Mặc dù được coi là sự thay thế cho Thư viện Microsoft Foundation Class dựa trên C ++ trước đó và phức tạp hơn, nhưng nó không cung cấp một mô hình tương đương và chỉ hoạt động như một nền tảng cho tầng giao diện người dùng trong một giải pháp đa tầng. Nền tảng ngôn ngữ: C#. 4.2 Cài đặt hệ thống Các bước để cài đặt hệ thống GetComment:
  • 56. 47 Hình 4. 1: Cài đặt hệ thống 1 Hình 4. 2: Cài đặt hệ thống 2
  • 57. 48 Hình 4. 3: Cài đặt hệ thống 3 Hình 4. 4: Cài đặt hệ thống 4
  • 58. 49 Hình 4. 5: Cài đặt hệ thống 5 Hình 4. 6: Cài đặt hệ thống 6
  • 59. 50 4.3 Kết quả Hình 4. 7: Giao diện hệ thống 4.4 Đánh giá Trên tổng số 300 comment, số lượng comment lấy ra được hơn 80%. Các comment lấy ra được gồm có :  Comment theo quy tắc nhóm đặt ra đúng thứ tự.  Comment theo quy tác nhóm đặt ra không theo thứ tự. Nhưng comments còn lại không lấy ra được gồm nhũng comment sai quy tắc nhóm đặt ra như:  Dạng email không phù hợp hoặc không có email.  Số lượng không phù hợp hoặc không có số lượng.  Số điện thoại không phù hợp hoặc không có số điện thoại.  Mã hàng không phù hợp hoặc không có mã hàng.
  • 60. 51 5.1 Kết luận CHƯƠNG 5: KẾT LUẬN Mạng xã hội ngày càng được phát triển và nhiều người biết đến, đây là cơ hội cho các doanh nghiệp quảng bá cũng như buôn bán các sản phẩm của mình. Đề tài nhóm nghiên cứu, “Phát triển ứng dụng tự động lấy mã hàng và thông tin người mua hàng từ Comment”, đã giúp được một phần vào việc thương mại điện tử trên mạng xã hội của các doanh nghiệp. Qua khoảng thời gian nghiên cứu, nhóm đã tìm hiểu thêm được về API, lập trình ứng dụng C#, phát triển một ứng dụng bằng facebook API, các công cụ hỗ trợ của nhà phát triển ứng dụng Facebook, file CSV. Các thành viên trong nhóm đã tiến bộ về một số mặt như: lập trình C# trên công cụ Visual Studio, khả năng đọc tiếng anh, khả năng tìm hiểu về chủ đề lạ, khả năng làm việc nhóm, kĩ năng quản lý code làm việc chung trên GitHub, kỹ năng viết báo cáo. Bên cạnh đó ứng dụng nhóm làm ra vẫn còn thể nâng cấp, hoàn thiện hơn ở các điểm như: giao diện ứng dụng, tốc độ xử lý, tự động lấy access token bằng đăng nhập Facebook,…. 5.2 Hướng mở rộng phát triển  Hỗ trợ người tự động lấy access token thông qua đăng nhập facebook.  Hỗ trợ người dùng tự điều chỉnh mã hàng theo ý muốn của mình.  Hỗ trợ người dùng chỉ lọc những email có dạng mà mình muốn.  Hỗ trợ các ngôn ngữ khác nhau cũng như nhận diện được số ghi bằng chữ.  Thêm chức năng lấy comment không cần access token thông crawl website.  Nâng cấp các giải thuật tìm kiếm email, số điện thoại, mã hàng, số lượng để đạt được tốc độ tốt ưu hơn.
  • 61. 52  Cho phép người dùng lấy comments ở các trang mạng xã hội khác không nhất thiết là phải facebook.  Nâng cấp giao diện dễ sử dụng hơn cho người dùng.  Phát triển ứng dụng lên môi trường web.
  • 62. [1]. TÀI LIỆU THAM KHẢO https://vi.wikipedia.org/wiki/Giao_di%E1%BB%87n_l%E1%BA%ADp_tr%C3 %ACnh_%E1%BB%A9ng_d%E1%BB%A5ng [2]. https://www.facebook.com/?ref=tn_tnmn [3]. https://developers.facebook.com/policy/?locale=vi_VN [4]. https://developers.facebook.com/docs/graph-api/using-graph-api/ [5]. https://developers.facebook.com/docs/facebook-login/access-tokens [6]. http://vneconomy.vn/facebook-co-the-linh-an-phat-ty-do-vi-be-boi- cambridge-analytica-20190215115032538.htm [7]. https://www.facebook.com/permalink.php?story_fbid=110785033922541&id=1 02221681445543& xts [0]=68.ARC1jyt- 29x8NOqVGqy9buHxDHIVRS1ZFqJyPc33de6vIDBpbwp9bLcJl11eIozLfWaE FCAXVfkg7s0DOIrD- 2E0LwjFsAszuhlXyWaW60KfUz0qkBc3mKtldg81F0GH5H18SD9CzUFvCZO bggAX2SW6wkSzyY_YXJ9Xn- FOFPbGt1nttN8dW1bIllwPXS38zHpHTzBn5wEVmCLmExBpbxgjHoDmCr6Y VJr4yWki-S- WT5VJmLiEjV4lpNy1ipC2Nm_U2UAbwTMOv4TAPVa4xyJkSiyvl8k- 4GtxvbJ2eya8nF3a3waIXsxv6EZj7dIe6FdHRgcrHAT9fovLYwg& tn =-R [8]. https://en.wikipedia.org/wiki/Windows_Forms