Tìm hiểu về Web Scraping Bot là gì ?
Bot là một phần mềm thực hiện nhiệm vụ tự động trên Internet, thông thường là các công việc đơn giản, có tính lặp lại cao như thu thập dữ liệu máy tìm kiếm, theo dõi website, lấy dữ liệu web, đo tốc độ trang và hiệu suất API. Bot cũng thường được sử dụng tự động quét mạng và website nhằm tìm kiếm ...
Bot là một phần mềm thực hiện nhiệm vụ tự động trên Internet, thông thường là các công việc đơn giản, có tính lặp lại cao như thu thập dữ liệu máy tìm kiếm, theo dõi website, lấy dữ liệu web, đo tốc độ trang và hiệu suất API. Bot cũng thường được sử dụng tự động quét mạng và website nhằm tìm kiếm và giảm thiểu lỗ hổng.
Web Scraping là gì ?
Web scraping là một quá trình tự động thu thập thông tin từ website. Kiểu scraping phổ biến nhất là site scraping, tập trung vào sao chép và đánh cắp nội dung web. Hành vi tái sử dụng nội dung có thể có hoặc không nhận được sự chấp nhận từ chủ sở hữu website.
Thông thường, các con bot sao chép dữ liệu bằng cách crawling. Crawl là một thuật ngữ mô tả quá trình thu thập dữ liệu trên website của các con bot. Các con bot truy cập vào mã nguồn website, phân tích cấu trúc, lấy nội dung và đăng tải lên trang khác.
Một dạng scraping nâng cao hơn đó là database scraping. Nó khá giống với site scraping ngoài việc tin tặc tạo ra con bot tương tác với phần ứng dụng nhằm lấy dữ liệu từ cơ sở dữ liệu của trang đó.
Database scraping có thể được dùng để đánh cắp tài sản sở hữu trí tuệ, danh sách đơn giá, danh sách khách hàng và những tập dữ liệu khác thường gây khó chịu với người nhập liệu nhưng rất dễ dàng với các con bot.
Lấy ví dụ về một hãng cho thuê ô tô, nếu công ty tạo ra một con bot thường xuyên kiểm tra giá của công ty đối thủ và nhanh chóng giảm giá thấp hơn sẽ có nhiều lợi thế cạnh tranh. Ngược lại, để xử lý các mối đe dọa do Scraping gây ra, doanh nghiệp cũng cần triển khai giải pháp phát hiện, xác định và giảm thiểu các con bot.
Không phải mọi Web Scraping đều xấu
Trong nhiều trường hợp, chủ dữ liệu muốn truyền tải dữ liệu đến càng nhiều người càng tốt. Ví dụ website của nhiều chính phủ cung cấp dữ liệu cho các website công cộng. Tương tự đối với các trang về du lịch, đặt phòng vé hay đặt phòng khách sạn. Các con bot lấy dữ liệu về từ API hoặc Scraping, phân loại nội dung rồi điều hướng lưu lượng đến website.
Cách phát hiện và ngăn chặn Site Scraping
Site scraping là một công cụ mạnh mẽ. Với mục đích đúng đắn, nó giúp tự động hóa việc thu thập và phát tán thông tin. Với mục đích sai, nó có thể dẫn tới đánh cắp tài sản trí tuệ hoặc gây ra cạnh tranh không lành mạnh.
Quy trình phân loại client
Chủ website có thể thực hiện các phương pháp sau để phân loại và giảm thiểu các con bot, bao gồm cả việc phát hiện Scraping Bot:
- Sử dụng công cụ phân tích – Các công cụ phân tích kiểm tra cấu trúc web request và thông tin header. Kết hợp các thông tin này với thông tin của các con bot trả về, chủ website có thể xác định đâu là con bot hợp pháp, đâu là con bot cần ngăn chặn.
- Triển khai cách tiếp cận “thách thức” (challenge-based) – Sử dụng các công nghệ web để đánh giá hành vi của client như nó có hỗ trợ cookie và JavaScript hay không? Chủ website cũng có thể sử dụng CAPTCHA để chặn các một vài cuộc tấn công.
- Lựa chọn cách tiếp cận hành vi – Hầu hết các con bot đều tự liên kết với các chương trình client gốc như JavaScript, Internet Explorer hay Chrome. Nếu đặc điểm của các con bot này khác biệt với client gốc, chủ website có thể sử dụng các điểm bất thường để phát hiện, ngăn chặn và giảm thiểu chúng.
- Sử dụng robots.txt – Chủ website có thể sử dụng robots.txt để bảo vệ website trước scraping bot, nhưng cách này không có hiệu quả lâu dài. Đây là tệp tin hướng dẫn các con bot thực hiện theo luật định sẵn. Trong một vài trường hợp, một vài con bot độc hại sẽ tìm kiếm thông tin trong robots.txt (thư mục riêng, trang quản trị) mà chủ website không muốn Google đánh chỉ mục và khai thác chúng.
incapsula