Chương 1: Tổng quan về báo cáo: o Giới thiệu tóm tắt sơ lược nội dung yêu câu va độ cấp thiết của bài toán xây dựng công cụ crawler trong việc thu thập dữ liệu từ các trang web thương mại điện tử. o Các đối tượng cần nghiên cứu. o Tóm lược lý do chon dé tài, mục tiêu cần phải thực hiện được của bài toán, các giới hạn, phạm vi, hướng tiếp cận của luận văn. o Giới thiệu về cau trúc luận văn.
e Chương 2: Cơ sở lý thuyết và các công trình nghiên cứu liên quan o Giới thiệu các công trình nghiên cứu liên quan đến đề tài. o Cách thức thu thập dữ liệu, các thư viện hỗ trợ o Thu thập dữ liệu o Giới thiệu về dữ liệu lớn- Big Data o Kho chứa dt liệu o Xử lý, phân tích dữ liệu o Trực quan hóa dt liệu e_ Chương 3 : Phân tích và thiết kế hệ thong o Phân tích dữ liệu từ các trang web thương mai điện tử o Xây dựng công cu crawler dữ liệu gia lập hành vi khách hang e Chương 4: Thực nghiệm và đánh gia o Đưa vào thử nghiệm công cụ crawler dữ liệu o Thu thập dữ liệu e Chương 5: Kết luận o Kết quả đạt được o Các hạn chê còn tôn đọng Phát triển hệ thông thu thập và lưu trữ dit liệu TMĐT dạng NoSOL o Đóng góp của dé tài o Ý nghĩa khoa học va thực tiễn e Phan cuôi cùng của bài báo cáo là danh mục tài liệu tham khảo va phan phụ lục. Phát triển hệ thông thu thập và lưu trữ dit liệu TMĐT dạng NoSOL CHUONG 2 CƠ SỞ LÝ THUYET VA CAC CONG TRINH NGHIEN CUU LIEN QUAN 2.1 Cac công trình nghiên cứu liên quan a. Trong một nghiên cứu của Alex Stolz và Martin Hepp với tên bài báo là Towards Crawling the Web for Structured Data: Pitfalls of Common Crawl for E-Commerce dén tir dai hoc Bundeswehr Munich, Duc.
Nghiên cứu đã chi ra rằng việc thu thập dữ liệu từ các site map do website thương mại điện tử cung cấp là không chính xác vì nó thiểu phần lớn các trang chỉ tiết của sản phẩm. Từ đó rút ra kết luận rằng quá trình thu thập dữ liệu từ các trang TMĐT không được dựa vào các sitemap được cung cấp bởi chính các website đó. Một nghiên cứu khác đến từ Junghoo Cho Đại học California, Los Angeles và Hector Garcia-Molina đến từ đại học Stanford đồng đứng tên cho một bài báo nghién cứu có tên : Parallel Crawlers. Bài nghiên cứu đã đưa ra giải pháp cho việc thu thập dữ liệu thông qua xử lý song song trong trường hợp dir việc cua web site cần lay tăng lên quá nhanh và quá lớn.
Bai báo của Sanjay Singh từ Manipal University mang tên Anti-Scraping Application Development đã đưa ra các cách khác nhau để chống lại việc thu thập dữ liệu. o Black list : khi có phát hiện thu thập dữ liệu từ 1 IP nào đó thì người quản tri sẽ đưa IP này vào danh sách IP bị cam và sẽ không có phép bat kỳ giao tiếp nào từ IP này đến website của mình. o Gray list: danh sách các IP có các hành động đáng ngờ khi truy cập đến website, nếu từ IP nay thao tác liên tục điền sai CAPTCHAs thì khi đó IP này sẽ được đưa vào Gray list để theo dõi các sai phạm. 10 Phát triển hệ thông thu thập và lưu trữ dit liệu TMĐT dạng NoSOL o White list: Day là một danh sách các IP hoàn toàn bình thường và hợp pháp.
Từ đây web site chỉ việc căn cứ vào danh sách này để chấp nhận việc truy cập. Một kỹ thuật quan trọng khác là chi dia chỉ IP thành các bang nhỏ dựa vào từng khu vựa khác nhau. Từ các bảng này web site sẽ tiến hành lọc các IP thuộc black list, gray list hay chưa xác định. Chúng ta có thé chia nhỏ khu vực ra nếu như số lượng truy cập website từ 1 khu vực nào đó rất lớn.
Các kỹ thuật phát hiện xâm nhập còn đến từ: e Thong tin của trình duyệt Hau hết các chương trình thu thập dữ liệu tự động thường không thé cung cấp các thông tin như phông chữ hệ thống. chỉ tiết plugin trình duyệt như khi dùng một trình duyệt nào đó. Ngoài ra mỗi trình duyệt thường có các đặc trưng rất độc đáo khó mà có thê làm giả. Do đó chỉ cần xây dựng bộ lọc để nhận các thông tin được cung cấp khi có giao tác duyệt web xảy ra, nếu không thể cung cấp các thông tin trên thì lập tức được đưa vào gray list và buộc phải xác thực thông qua CAPTCHA_ nếu muốn vào white list e Thường xuyên thay đối Markup Markup của một website nên được thường xuyên thay đối một các tự động nhưng không phải là thay đổi trên diện rộng hay toàn bộ cau trúc website.
Hầu hết các chương trình thu thập dữ liệu dựa vào tên của các lớp và id của các thẻ đánh dấu để xác định phan can thu thập dữ liệu. Thường xuyên thay đổi tên lớp và id của các phần khác nhau một cách tự động là cách được chứng minh là khác hiệu quả trong việc phá vỡ quá trình thu thập dữ liệu của chương trình. Tuy nhiên việc thay đổi thường xuyên cau trúc sẽ gây khó chịu cho nhưng người dùng thực. e Hiến thị thông tin dưới dạng hình ảnh 11 Phát triển hệ thông thu thập và lưu trữ dit liệu TMĐT dạng NoSOL Một phương pháp để ngăn chặn quá trình thu thập là trình bày các thông tin như là một phan của hình ảnh, và không phải là văn bản dang text.
Thông tin văn bản bình thường có thé được chuyển đổi sang hình ảnh trên phía máy chủ và sau đó có thé được hiển thị đến người dùng. Những người thu thập dữ liệu có thế dùng phần mềm Optical Character Recognition (OCR) để lấy được dữ liệu từ hình ảnh. Tuy nhiên, phương pháp hién thị thông tin dưới dạng hình ảnh không phải hiệu quả trong thời đại ngày ngày nay, bởi vì các thư viện OCR đã trở nên rất phát triển. Ngoài ra việc cố ý làm nhòe dữ liệu trong hình ảnh sẽ dẫn đến phiên toái từ người sử dụng chân chính và có thé ảnh hưởng đến lượng truy cập của trang web.
Dữ liệu còn có thé được trình bày như là các đoạn flash hoặc HTMLS canvas thay vì hình ảnh. e Phân tích tan suất Đây là phương pháp dựa vào số lần truy cập của khách đến trang web tại từng thời điểm. Khi đã có số lần truy cập thì một lần nữa các danh sách đen, xám và trắng sẽ được sử dụng. Tuy nhiên phương pháp này cũng không chính xác tuyệt đối vì việc truy xuất nhiều ít của người dùng tùy thuộc vào nhu cau và nội dung của trang web tại thời điểm đó.
e Phân tích lưu lượng dir liệu Đây là một phương pháp quan trọng được sử dung trong những năm gan đây. Thực tế cho thấy rằng các hệ thống thu thập dữ liệu thường dùng giải pháp thay đối IP liên tục hoặc dùng proxy dé tránh bi phát hiện. Tuy nhiên việc lưu lượng đữ liệu bi thu thập từ một nguon nào đó là không thé che giấu được. Phương pháp được dé xuất là việc thu thập lưu lượng dữ liệu đi đến một đích nào đó, ở lần đầu tiên ta sẽ gom cum đữ liệu sau đó dùng biên rôi rạc Fourier đê làm giảm kích thước của mâu.
Tuy nhiên 12 Phát triển hệ thông thu thập và lưu trữ dit liệu TMĐT dạng NoSOL phương pháp này đòi hỏi các mẫu thử phải day đủ và phải được thu thập trong một thời gian dài. e Phan tích URL Phương pháp phân tích URL được viéng thăm cũng là một các phát hiện xâm nhập. Việc phân tích này dựa vào quá trình viếng thăm lặp di lặp lại một URL nào đó cua trang web. Hay các URL được duyệt theo một thứ tự nhất định thì việc theo dõi đối tượng sẽ được thiết lập.
e Honeypots và Honeynets Một số công ty kinh doanh trong lĩnh vực mạng ví dụ như Amazon Cloud Front và CloudFlare sử dụng một mạng lưới các honeypots, còn được gọi là honeynets hoặc honeyfarms khắp thế giới dé nam bắt thông tin về các hệ thống thu thập, và chuyển tiếp thông tin này cho các ứng dụng của họ trên toàn thế giới qua bản cập nhật định kỳ hoặc các phương pháp khác. Các trang honeypot nhỏ có thé được triển khai trên các trang web dé phát hiện hoàn toàn tự động thu thập thông tin của các hệ thống thu thập dữ liệu. Một số công cụ giúp thu thập dữ liệu từ các website: > Winweb crawler WVY FMiner Screen Scraper OutWit Hub Helium scraper Visual Web Ripper Scraper Wiki Kimono Labs 13 Phát triển hệ thông thu thập và lưu trữ dit liệu TMĐT dạng NoSOL e. Công trình nghiên cứu trong nước : Dé tài nghiên cứu khoa học của sinh viên khoa Khoa học và Kỹ Thuật Máy Tính thuộc Đại Học Bách Khoa TP.
HCM năm 2016 về phát triển hệ thống thu thập. lưu trữ và thong kê dữ liệu của các website TMĐT ở Việt Nam. > Thu thập dữ liệu Kiến trúc thu thập dữ liệu của hệ thống: website website website website https://nhattao.com/ http:/www.com/home http:/www.vn/ ¬ Crawler Process Process Process Process Process Master Crawler1 Crawler2 Crawler3 CrawlerN RabbitMQ ____—— Data Data Data Data set N / set N / set N / set N / Checking Data Report Error i< Bad Data Import to Data Warehouse Hình 2 Kiến trúc hệ thông thu thập dữ liệu Kiến trúc hệ thông gồm ba tầng căn bản: e Crawler: Thu thập dữ liệu từ các website và lưu trữ thành một tập dữ liệu e Kiểm tra dữ liệu crawl: Kiểm tra từng dữ liệu lấy được từ tang crawler có bị sai lệch hay không (quá nhiều giá trị null liên tiếp trên một thuộc tính bất kỳ). Nếu dữ liệu bị sai lệch quá nhiều trên một tập dữ liệu bất kỳ thì hệ thông sẽ cảnh báo cho người vận hành biệt đê có thê điêu chỉnh lại việc 14 Phát triển hệ thong thu thập và lưu trữ dữ liệu TMĐT dạng NoSOL crawler và tự động xóa tập dt liệu này, ngược lại thì tập dữ liệu sẽ được đưa xuông tâng dưới đê thực hiện việc lưu trữ.
° Day dữ liệu vào kho: Dung dé thực hiện việc đưa dữ liệu vào trong kho chứa dữ liệu lớn. > Phân phối tác vụ Phân phối tác vụ với RabbitMQ, RabbitMQ là một message broker (message- oriented middleware) sử dụng giao thức AMQP - Advanced Message Queue Protocol (Đây là giao thức phô biến, thực tế RabbitMQ hỗ trợ nhiều giao thức). RabbitMQ được lập trình bằng ngôn ngữ Erlang. RabbitMQ cung cấp cho lập trình viên một phương tiện trung gian để giao tiếp giữa nhiều thành phân trong một hệ thống lớn (ví dụ openstack).