Khi xây dựng một crawler để thu thập email và số điện thoại từ website, câu hỏi sớm hay muộn cũng xuất hiện: nên giới hạn crawler bằng tiêu chí nào? MaxDepth? MaxLinks? Hay MaxResults?
Nhiều người mới làm crawler thường chọn MaxLinks đầu tiên, vì nghe có vẻ “an toàn”. Nhưng khi bắt tay vào làm tool thực tế – đặc biệt là các tool phục vụ marketing – bạn sẽ nhận ra: giới hạn link không phải là trọng tâm.
Bài viết này chia sẻ góc nhìn thực tế khi thiết kế crawler theo hướng thu thập dữ liệu có mục tiêu.

Sơ đồ tổng quan crawler thu thập email và số điện thoại theo mục tiêu dữ liệu
1. Mục tiêu của crawler quyết định mọi thứ
Trước khi nói về MaxDepth, MaxLinks hay MaxResults, cần trả lời một câu hỏi quan trọng:
Crawler của bạn được tạo ra để làm gì?
Có hai loại crawler phổ biến:
-
Crawler thu thập nội dung (search engine, archive, mirror website)
-
Crawler thu thập dữ liệu mục tiêu (email, phone, lead, contact)
Với crawler marketing, mục tiêu không phải là crawl càng nhiều trang càng tốt, mà là:
-
Lấy đủ email
-
Lấy đủ số điện thoại
-
Trong thời gian và tài nguyên hợp lý
Từ đây, ta sẽ thấy rõ vai trò thực sự của từng tiêu chí.
2. MaxResults – tiêu chí quan trọng nhất
MaxResults trả lời câu hỏi đơn giản nhưng cốt lõi:
“Khi nào thì crawler nên dừng vì đã đủ dữ liệu?”
Trong thực tế marketing:
-
Người dùng nói: “Tôi cần 200 email”
-
Hoặc: “Lấy cho tôi 500 số điện thoại”
Không ai nói: “Hãy crawl 10.000 link cho tôi”
Vì vậy, MaxResults là tiêu chí bắt buộc phải có.
Nó biến crawler từ một con robot lang thang thành một công cụ có mục tiêu rõ ràng.
Nếu không có MaxResults:
-
Crawler không biết khi nào là đủ
-
Dễ crawl thừa
-
Tốn băng thông, CPU, thời gian
-
Gây rủi ro bị block IP
Với crawler thu thập email/phone, có thể nói:
Nếu chỉ chọn một tiêu chí duy nhất, hãy chọn MaxResults.
3. MaxDepth – tiêu chí an toàn bắt buộc

So sánh vai trò của MaxResults, MaxDepth và MaxLinks trong crawler marketing
Nếu MaxResults quyết định khi nào dừng, thì MaxDepth quyết định crawler được phép đi sâu đến đâu.
Website hiện đại rất dễ tạo ra vòng lặp:
-
Trang phân trang vô hạn
-
Tag, category lồng nhau
-
Calendar page (ngày – tháng – năm)
-
URL khác nhau nhưng nội dung giống nhau
Nếu crawl theo DFS mà không có MaxDepth, crawler rất dễ “rơi xuống hố đen”.
Trong thực tế:
-
Depth = 0: Trang chủ
-
Depth = 1: Menu chính
-
Depth = 2: About, Contact, Team
-
Depth = 3–4: Blog, bài viết
-
Depth > 4: Nội dung trùng lặp, ít giá trị cho email
Đối với crawler marketing, depth 3–4 là quá đủ.
Vì vậy, MaxDepth cũng là tiêu chí bắt buộc, nhưng mang tính bảo vệ hệ thống, không phải mục tiêu dữ liệu.
4. MaxLinks – có hay không là tùy mục đích
MaxLinks giới hạn số lượng trang được crawl.
Đây là tiêu chí mà nhiều người dùng nhầm là “quan trọng nhất”.
Thực tế:
-
MaxLinks không phản ánh giá trị dữ liệu
-
1 trang có thể chứa 20 email
-
100 trang có thể không có email nào
Trong crawler marketing đã có MaxResults + MaxDepth, MaxLinks thường trở nên dư thừa.
Khi KHÔNG cần MaxLinks
-
Crawl 1 website hoặc vài website
-
Có mục tiêu email/phone rõ ràng
-
Crawl theo DFS hoặc ưu tiên link tốt
-
Tool dùng nội bộ hoặc cá nhân
Trong trường hợp này, crawler nên dừng vì đủ dữ liệu, không phải vì “hết quota link”.
Khi NÊN có MaxLinks
-
Crawl website rất lớn
-
Crawl nhiều domain cùng lúc
-
Tool public cho nhiều người dùng
-
Crawl async với nhiều task song song
Lúc này, MaxLinks đóng vai trò cầu chì an toàn, tránh trường hợp crawler chạy không kiểm soát.
5. Cách kết hợp hợp lý trong thực tế

Thiết kế giao diện crawler tập trung vào mục tiêu thu thập dữ liệu
Với một tool crawler thu thập email/phone, kiến trúc hợp lý thường là:
-
Bắt buộc
-
MaxResults
-
MaxDepth
-
-
Tùy chọn (Advanced)
-
MaxLinks
-
Giao diện người dùng nên ưu tiên:
-
“Số email / phone cần lấy”
-
“Độ sâu crawl”
Còn MaxLinks có thể để trong phần Advanced Settings.
6. Kết luận
Nếu phải xếp hạng mức độ quan trọng:
-
MaxResults – mục tiêu dữ liệu
-
MaxDepth – an toàn thuật toán
-
MaxLinks – bảo vệ tài nguyên
Một crawler tốt không dừng vì hết link,
mà dừng vì đã đủ dữ liệu cần thiết.
Khi bạn thiết kế crawler xoay quanh tư duy này, tool sẽ:
-
Nhanh hơn
-
Thông minh hơn
-
Ít rủi ro hơn
-
Và thực sự hữu ích cho marketing
