P5 · Python + Selenium · Data Collection
Web Scraping Suite — Tiki · Mogi · Backmarket · Masothue
Bộ crawler Selenium đa nền tảng: thương mại điện tử (Tiki), bất động sản (Mogi), điện tử hoàn tân (Backmarket), tra cứu doanh nghiệp (Masothue.com.vn). Tự động hóa thu thập và xuất dữ liệu.
SeleniumPythonPandasBeautifulSoupE-commerce
Features
- Tiki: crawl sản phẩm theo danh mục, lấy giá, rating, số đánh giá, thông số kỹ thuật
- Mogi: thu thập listing bất động sản theo khu vực — giá, diện tích, vị trí, liên hệ
- Backmarket: giá máy tính xách tay refurbished theo cấu hình, quốc gia, điều kiện
- Masothue: tra cứu thông tin doanh nghiệp theo MST — tên, địa chỉ, đại diện pháp lý
- Tất cả đều có: auto-pagination, retry logic, delay ngẫu nhiên, export Excel
Stack & Tools
- Selenium: ChromeDriver · WebDriverWait · XPath / CSS Selector
- BeautifulSoup: HTML parsing · lxml parser
- Python: Pandas · openpyxl · Requests · time.sleep()
- Anti-bot: User-agent rotation · Random delay · Cookie handling
Kiến trúc & Quy trình hoạt động
Ứng dụng cào dữ liệu được xây dựng trên mô hình kết hợp (Hybrid Crawling Framework). Sử dụng Selenium WebDriver cấu hình chạy ẩn (Headless Mode) để vượt qua các trang web yêu cầu thực thi mã JavaScript phức tạp, kết hợp với thư viện BeautifulSoup4 có tốc độ phân tích cú pháp DOM nhanh vượt trội.
Target URLs ➔ Headless Chrome (Selenium) ➔ Cloudflare/Anti-Bot Bypass
⬇
Excel Export ⬅ Pandas Normalization ⬅ BS4 Tree Parsing ⬅ DOM Tree Dump
Thiết kế Cơ sở dữ liệu
Dữ liệu cào về được chuẩn hóa và đưa vào cấu trúc DataFrame của thư viện Pandas để xử lý sạch dữ liệu (Data Cleaning) trước khi ghi trực tiếp vào các tệp tin Excel / CSV có tổ chức hoặc đưa vào cơ sở dữ liệu SQL:
- Temp Raw JSON (Lưu trữ tạm thời dữ liệu thô cào về từ API ẩn)
- Pandas DataFrame (Xử lý loại bỏ trùng lặp, chuẩn hóa kiểu số và ngày tháng)
- Output Excel Sheets (Tập tin đầu ra cuối cùng được phân tách theo danh mục sản phẩm)
Thách thức & Giải pháp kỹ thuật
- Thách thức: Trang web đích nâng cấp hệ thống phòng chống cào dữ liệu (Anti-Bot) phát hiện và khóa hàng loạt địa chỉ IP (IP Block) hoặc bắt xác thực CAPTCHA.
- Giải pháp: Triển khai cơ chế xoay vòng địa chỉ IP (Residential Proxy Rotation), giả lập tác nhân trình duyệt ngẫu nhiên (User-Agent Rotation), và ngẫu nhiên hóa thời gian chờ (random sleep) giữa các lượt request để mô phỏng chính xác hành vi của con người.
Thành quả đạt được
- Thu thập thành công hơn 100,000 dữ liệu sản phẩm từ Tiki và tin đăng bất động sản từ Mogi mỗi tuần mà không bị phát hiện hay chặn IP.
- Quy trình xuất báo cáo tự động giúp tiết kiệm 95% thời gian so với việc nhập liệu thủ công.
Một số hình ảnh dự án (Screenshots)