Nếu bạn làm việc trong lĩnh vực tuyển dụng hoặc phân tích HR, chắc chắn bạn đã gặp phải tình huống: cần nhanh chóng thu thập hơn 500 việc làm của đối thủ, theo dõi thị trường lương hoặc xuất tải thông tin liên lạc của nhà tuyển dụng — mà các nền tảng đã chặn bạn sau 20-30 yêu cầu. LinkedIn và HeadHunter đang tích cực bảo vệ dữ liệu của họ, và nếu không có cách tiếp cận đúng đắn, việc phân tích sẽ trở thành cuộc chiến vô tận với captcha và cấm.
Trong hướng dẫn này, chúng ta sẽ xem xét các công cụ thực sự hoạt động vào năm 2024, cách thiết lập proxy để thu thập dữ liệu ổn định và những lỗi cần tránh để không mất tài khoản.
Tại sao LinkedIn và HeadHunter chặn phân tích
Cả hai nền tảng đều kiếm tiền từ dữ liệu. LinkedIn bán quyền truy cập vào cơ sở dữ liệu thông qua các gói trả phí Recruiter và Recruiter Lite, HeadHunter — thông qua API và các vị trí trả phí. Khi ai đó bắt đầu thu thập dữ liệu này một cách hàng loạt miễn phí, các nền tảng sẽ phản ứng rất mạnh mẽ. Dưới đây là những cơ chế bảo vệ cụ thể mà bạn sẽ gặp phải:
Giới hạn tần suất — giới hạn số lượng yêu cầu
LinkedIn theo dõi số lượng lượt xem hồ sơ và trang việc làm trong một khoảng thời gian nhất định. Tài khoản miễn phí có thể xem khoảng 300 hồ sơ mỗi tháng — sau đó bạn sẽ nhận được cảnh báo hoặc bị chặn tạm thời. Khi phân tích tự động mà không có độ trễ giữa các yêu cầu, giới hạn này sẽ được sử dụng hết chỉ trong vài phút. HeadHunter giới hạn số lượng yêu cầu tìm kiếm từ một IP — khi vượt quá, nó sẽ hiển thị captcha hoặc chặn quyền truy cập tạm thời.
Phân tích hành vi và User-Agent
Các nền tảng phân tích các mẫu hành vi: người dùng thực sự cuộn trang, dừng lại ở nội dung, nhấp chuột không theo trình tự. Bot thực hiện các yêu cầu với khoảng cách giống nhau, không cuộn, gửi tiêu đề không điển hình. LinkedIn kiểm tra thêm sự tồn tại của phiên đã xác thực — nếu không đăng nhập vào tài khoản, bạn sẽ thấy dữ liệu hạn chế và rất nhanh chóng bị chặn theo IP.
Chặn theo địa chỉ IP
Đây là hình thức bảo vệ phổ biến nhất. Nếu từ một IP có quá nhiều yêu cầu — IP sẽ bị đưa vào danh sách đen. Các IP từ trung tâm dữ liệu (AWS, Google Cloud, Hetzner) bị chặn rất nhanh: các nền tảng biết các dải địa chỉ này và có sự nghi ngờ cao hơn đối với chúng. Các IP gia đình và di động ít bị chặn hơn, vì có thể đứng sau những người dùng thực sự.
⚠️ Quan trọng cần biết
LinkedIn đã thắt chặt bảo vệ vào năm 2023: ngay cả khi xem hồ sơ bằng VPN hoặc proxy từ trung tâm dữ liệu, tài khoản cũng có thể bị chặn. Đối với LinkedIn, việc sử dụng proxy dân cư hoặc di động là rất quan trọng.
Những gì mà nhà tuyển dụng và phân tích HR phân tích
Trước khi thiết lập các công cụ, hãy xác định nhiệm vụ — điều này sẽ ảnh hưởng đến cách tiếp cận và loại proxy. Dưới đây là những kịch bản chính mà các chuyên gia HR và các công ty tuyển dụng làm việc:
| Nhiệm vụ | Nền tảng | Khối lượng dữ liệu |
|---|---|---|
| Giám sát lương theo thị trường | HeadHunter, LinkedIn | 500–5000 việc làm/ngày |
| Thu thập thông tin liên lạc của nhà tuyển dụng | 100–1000 hồ sơ/ngày | |
| Phân tích yêu cầu đối với ứng viên | HeadHunter, LinkedIn | 1000–10 000 việc làm |
| Theo dõi các việc làm mới của đối thủ | HeadHunter | Giám sát hàng ngày |
| Tìm kiếm ứng viên thụ động | 50–500 hồ sơ/ngày |
Điểm mấu chốt: các nhiệm vụ với khối lượng dữ liệu lớn (nghìn việc làm mỗi ngày) yêu cầu một nhóm proxy với sự luân chuyển. Các nhiệm vụ với khối lượng nhỏ (giám sát 50-100 vị trí hàng ngày) có thể được giải quyết với 1-2 proxy tĩnh nếu có độ trễ giữa các yêu cầu.
Công cụ sẵn có cho phân tích việc làm
Tin tốt là bạn không cần phải viết mã từ đầu. Có những giải pháp sẵn có cho các nhiệm vụ khác nhau và các cấp độ kỹ thuật khác nhau. Chúng ta sẽ xem xét các loại chính.
Công cụ No-code (không cần lập trình)
Apify — nền tảng đám mây với các "diễn viên" sẵn có cho LinkedIn và HeadHunter. Có sẵn LinkedIn Jobs Scraper và HH.ru Scraper. Bạn chỉ cần chỉ định các tham số tìm kiếm, nền tảng sẽ làm tất cả những việc còn lại. Hỗ trợ kết nối proxy riêng. Giá từ $49/tháng, có giới hạn miễn phí.
Phantombuster — chuyên về LinkedIn. Có khả năng thu thập việc làm, hồ sơ, thông tin liên lạc của các công ty. Hoạt động thông qua tài khoản LinkedIn đã xác thực. Hỗ trợ proxy. Quan trọng: một tài khoản LinkedIn = một hồ sơ proxy, nếu không bạn sẽ bị cấm vì thay đổi IP.
Octoparse — trình tạo parser trực quan. Cho phép bạn thiết lập thu thập dữ liệu từ bất kỳ trang web nào mà không cần mã, chỉ cần chỉ định các phần tử cần thiết bằng chuột. Hỗ trợ luân chuyển proxy. Phù hợp cho HeadHunter — giao diện đơn giản và dễ hiểu.
Công cụ cho người dùng kỹ thuật
ParseHub — ứng dụng máy tính để bàn với giao diện trực quan, nhưng linh hoạt hơn so với Octoparse. Có khả năng làm việc với nội dung động (trang JavaScript). Đối với LinkedIn, điều này là rất quan trọng — hầu hết dữ liệu được tải động.
Bright Data (Web Scraper IDE) — nền tảng chuyên nghiệp với proxy tích hợp. Có các mẫu sẵn có cho LinkedIn. Đắt nhưng đáng tin cậy cho khối lượng công nghiệp.
HH.ru API — API chính thức của HeadHunter. Miễn phí cho sử dụng phi thương mại, có phí cho doanh nghiệp. Nếu nhiệm vụ của bạn là giám sát việc làm, không phải thu thập hàng loạt thông tin liên lạc, API chính thức là lựa chọn ổn định nhất. Giới hạn: 50 yêu cầu mỗi giây cho các ứng dụng đã xác thực.
💡 Mẹo
Đối với HeadHunter, hãy bắt đầu với API chính thức — điều này hợp pháp, ổn định và miễn phí đến một số giới hạn nhất định. Đối với LinkedIn, bạn không thể thiếu các công cụ bên ngoài và proxy, vì không có API công khai chính thức cho việc làm.
Tại sao cần proxy và chọn loại nào
Proxy là máy chủ trung gian, nơi mà các yêu cầu của bạn đi qua. Nền tảng sẽ thấy IP của proxy, chứ không phải địa chỉ thực của bạn. Khi luân chuyển proxy (thay đổi IP tự động), mỗi yêu cầu sẽ giống như một yêu cầu từ người dùng mới — điều này cho phép vượt qua giới hạn và chặn.
Nhưng không phải tất cả các proxy đều hiệu quả như nhau cho LinkedIn và HeadHunter. Việc chọn loại proxy ảnh hưởng nghiêm trọng đến kết quả:
| Loại proxy | HeadHunter | Tốc độ | Giá | |
|---|---|---|---|---|
| Proxy dân cư | ✅ Xuất sắc | ✅ Xuất sắc | Trung bình | $$ |
| Proxy di động | ✅ Xuất sắc | ✅ Tốt | Trung bình | $$$ |
| Proxy từ trung tâm dữ liệu | ❌ Thường bị chặn | ⚠️ Trung bình | Cao | $ |
Proxy dân cư — lựa chọn tối ưu cho LinkedIn
Proxy dân cư sử dụng địa chỉ IP thực của người dùng gia đình. Về mặt LinkedIn — đây là một người bình thường, ngồi ở nhà. Những IP này rất hiếm khi bị đưa vào danh sách đen, và nền tảng không thể phân biệt chúng với người dùng thực. Đối với việc phân tích LinkedIn, đây là tiêu chuẩn của ngành.
Các tham số chính khi chọn proxy dân cư cho việc phân tích việc làm:
- Địa lý: chọn IP của quốc gia mà bạn đang phân tích việc làm (đối với HeadHunter — Nga, đối với LinkedIn — quốc gia cần thiết)
- Luân chuyển: thay đổi IP tự động sau mỗi yêu cầu hoặc theo thời gian
- Nhóm IP: càng nhiều càng tốt, giảm rủi ro sử dụng lại IP bị chặn
- Hỗ trợ HTTP/HTTPS và SOCKS5 — hầu hết các công cụ phân tích yêu cầu các giao thức này
Proxy di động — cho việc làm với tài khoản LinkedIn
Nếu bạn phân tích LinkedIn thông qua tài khoản đã xác thực (như cách Phantombuster hoạt động), proxy di động mang lại lợi thế bổ sung: LinkedIn coi nhà cung cấp di động là nguồn và tin tưởng các IP này nhiều hơn. Một IP di động có thể phục vụ hàng ngàn người dùng thực (qua NAT của nhà cung cấp), vì vậy ngay cả khi hoạt động cao từ đó cũng không gây nghi ngờ.
Proxy từ trung tâm dữ liệu — chỉ dành cho HeadHunter
Proxy từ trung tâm dữ liệu — nhanh và rẻ, nhưng LinkedIn chặn chúng một cách mạnh mẽ. Đối với HeadHunter, chúng hoạt động tốt hơn: nền tảng ít nghi ngờ hơn đối với các IP từ trung tâm dữ liệu, đặc biệt nếu tuân thủ độ trễ giữa các yêu cầu. Phù hợp cho việc giám sát việc làm với ngân sách trên HH với khối lượng nhỏ.
Phân tích LinkedIn: thiết lập từng bước
LinkedIn là nền tảng khó phân tích nhất. Ở đây, điều quan trọng là hành động cẩn thận để không mất tài khoản. Chúng ta sẽ xem xét một quy trình làm việc bằng ví dụ của Phantombuster — một trong những công cụ phổ biến nhất trong số các nhà tuyển dụng.
Bước 1: Chuẩn bị tài khoản LinkedIn
Không bao giờ sử dụng tài khoản làm việc chính để phân tích. Tạo một tài khoản riêng hoặc sử dụng tài khoản phụ. Nếu nó bị chặn — bạn sẽ không mất các liên kết quý giá và lịch sử. Tài khoản cần được "nóng": hồ sơ đã được hoàn thành, một vài liên hệ, ít nhất một tuần hoạt động trước khi bắt đầu phân tích.
Bước 2: Liên kết proxy với tài khoản
Quy tắc quan trọng: một tài khoản LinkedIn = một địa chỉ IP. Nếu hôm nay bạn truy cập từ IP 1, và ngày mai từ IP 2 — đây là tín hiệu đỏ cho hệ thống bảo mật của LinkedIn. Sử dụng proxy dân cư tĩnh (sticky session) cho mỗi tài khoản.
Trong Phantombuster, việc thiết lập proxy trông như sau:
- Truy cập vào Settings → Proxies trong tài khoản Phantombuster của bạn
- Nhấn Add Proxy
- Nhập thông tin proxy: host, port, login, password
- Chọn loại: HTTP hoặc SOCKS5 (tùy thuộc vào nhà cung cấp proxy của bạn)
- Nhấn Test Proxy — đảm bảo rằng proxy hoạt động
- Gán proxy này cho một "phantom" cụ thể (nhiệm vụ) mà làm việc với tài khoản của bạn
Bước 3: Thiết lập LinkedIn Jobs Export
Trong Phantombuster, tìm phantom "LinkedIn Jobs Search Export". Cài đặt:
- Search URL: dán URL tìm kiếm việc làm LinkedIn với các bộ lọc cần thiết (vị trí, thành phố, loại hình việc làm)
- Number of jobs per launch: bắt đầu với 25-50. Đừng đặt 500 ngay từ ngày đầu tiên
- Launch frequency: 1 lần trong 2-3 giờ. Đừng khởi động liên tục
- Session cookie: sao chép cookie li_at từ trình duyệt (hướng dẫn có trong Phantombuster)
Bước 4: Thiết lập giới hạn an toàn
LinkedIn chặn vì sự hung hăng, không phải vì chính việc phân tích. Giới hạn an toàn cho một tài khoản:
- Không quá 80-100 lượt xem việc làm mỗi ngày
- Độ trễ giữa các yêu cầu: tối thiểu 3-5 giây
- Thực hiện các khoảng nghỉ vào ban đêm (giả lập hành vi của con người)
- Đừng khởi động phân tích vào cuối tuần — điều này có vẻ nghi ngờ đối với nền tảng B2B
⚠️ Nếu cần khối lượng dữ liệu lớn từ LinkedIn
Nếu cần phân tích hàng ngàn việc làm mỗi ngày — hãy sử dụng nhiều tài khoản, mỗi tài khoản với proxy dân cư riêng. Một tài khoản + một IP = tối đa 100 việc làm mỗi ngày mà không có rủi ro bị chặn. 10 tài khoản × 100 = 1000 việc làm mỗi ngày.
Phân tích HeadHunter: đặc điểm và thiết lập
HeadHunter dễ hơn LinkedIn trong việc phân tích vì hai lý do: có API chính thức và bảo vệ ít hung hăng hơn. Nhưng khi thu thập dữ liệu hàng loạt mà không có thiết lập đúng, bạn vẫn sẽ bị chặn.
Tùy chọn 1: API chính thức của HeadHunter (được khuyến nghị)
Nếu nhiệm vụ của bạn là giám sát việc làm và phân tích thị trường (không thu thập thông tin liên lạc), hãy sử dụng API chính thức của hh.ru. Điều này hoàn toàn hợp pháp và cung cấp quyền truy cập ổn định vào dữ liệu.
- Đăng ký ứng dụng trên dev.hh.ru
- Nhận client_id và client_secret
- Sử dụng endpoint GET /vacancies để tìm kiếm việc làm
- Các tham số lọc: text, area (khu vực), salary, experience, schedule
- Giới hạn: 50 yêu cầu mỗi giây cho các ứng dụng đã xác thực
Kết quả sẽ được trả về dưới định dạng JSON — dễ dàng tải lên Excel hoặc Google Sheets thông qua các công cụ như Zapier hoặc Make (trước đây là Integromat) mà không cần viết mã.
Tùy chọn 2: Phân tích thông qua Apify (không cần mã)
Nếu bạn cần dữ liệu không có trong API chính thức (ví dụ: thông tin liên lạc của nhà tuyển dụng hoặc dữ liệu ở định dạng không chuẩn), hãy sử dụng Apify với diễn viên sẵn có cho HH.ru:
- Truy cập vào apify.com và tìm diễn viên "HH.ru Scraper"
- Nhấn Try for free
- Trong cài đặt, chỉ định truy vấn tìm kiếm (vị trí, thành phố)
- Trong phần Proxy configuration, chọn "Custom proxies" và dán thông tin proxy của bạn
- Đối với HeadHunter, proxy dân cư với IP Nga là phù hợp — nền tảng này có tính khu vực
- Nhấn Start và chờ kết quả
- Xuất dữ liệu dưới dạng CSV, JSON hoặc Excel
Tùy chọn 3: Octoparse cho các nhiệm vụ nâng cao
Octoparse cho phép bạn thiết lập phân tích bất kỳ phần tử nào trên trang HH.ru — bao gồm cả những phần không có trong API. Ví dụ, bạn có thể thu thập đầy đủ mô tả việc làm, thông tin liên lạc (nếu có thể thấy), liên kết đến các công ty.
- Tải xuống và cài đặt Octoparse
- Tạo một nhiệm vụ mới, dán URL tìm kiếm việc làm trên hh.ru
- Sử dụng chế độ Auto-detect — Octoparse sẽ tự động xác định cấu trúc danh sách
- Kiểm tra xem tất cả các trường cần thiết đã được đánh dấu (tên, công ty, lương, thành phố)
- Trong cài đặt nhiệm vụ, bật IP Rotation và thêm proxy của bạn
- Đặt độ trễ giữa các yêu cầu: 2-4 giây
- Khởi động trên đám mây (Cloud Extraction) để thu thập liên tục
💡 Địa lý proxy cho HeadHunter
HeadHunter xác định khu vực của người dùng qua IP và hiển thị các việc làm theo khu vực. Nếu bạn muốn phân tích việc làm từ một thành phố cụ thể (ví dụ: chỉ Moscow hoặc Saint Petersburg), hãy sử dụng proxy với IP từ khu vực đó. Đối với giám sát toàn quốc, bất kỳ IP nào của Nga cũng đủ.
Những lỗi thường gặp và cách tránh chúng
Hầu hết các vấn đề khi phân tích LinkedIn và HeadHunter phát sinh từ những lỗi giống nhau. Dưới đây là danh sách những điều không nên làm:
❌ Lỗi 1: Sử dụng một IP cho tất cả
Lỗi phổ biến nhất của người mới — khởi động phân tích từ IP gia đình của mình hoặc từ một proxy. Ngay khi nền tảng phát hiện hoạt động bất thường — IP sẽ bị chặn vĩnh viễn. Giải pháp: proxy luân chuyển với việc thay đổi IP tự động hoặc một nhóm proxy tĩnh.
❌ Lỗi 2: Tốc độ yêu cầu quá cao
Phân tích 1000 trang trong 10 phút — là con đường chắc chắn dẫn đến việc bị cấm. Người dùng thực sự không thể xem các trang với tốc độ như vậy. Hãy đặt độ trễ: tối thiểu 2-3 giây giữa các yêu cầu cho HeadHunter, 5-10 giây cho LinkedIn. Thêm biến thể ngẫu nhiên vào độ trễ (không phải chính xác 3 giây, mà từ 2 đến 5 — điều này giả lập hành vi của con người).
❌ Lỗi 3: Thay đổi IP cho tài khoản LinkedIn
Nếu bạn sử dụng proxy luân chuyển để làm việc với tài khoản LinkedIn đã xác thực — mỗi yêu cầu sẽ đến từ một IP mới. LinkedIn sẽ coi điều này như một cuộc tấn công vào tài khoản (ai đó đang kết nối từ nhiều nơi khác nhau) và chặn nó. Đối với các phiên đã xác thực, chỉ sử dụng proxy sticky (IP cố định trong thời gian dài) hoặc proxy dân cư tĩnh.
❌ Lỗi 4: Bỏ qua User-Agent
User-Agent là chuỗi mà trình duyệt gửi đến máy chủ, xác định danh tính của nó. Nhiều công cụ phân tích mặc định gửi User-Agent dạng "python-requests/2.28.0" — điều này ngay lập tức cho thấy đây là bot. Hãy thiết lập User-Agent thực tế của trình duyệt hiện đại. Trong Apify và Phantombuster, điều này được thực hiện tự động, trong Octoparse — trong cài đặt nhiệm vụ.
❌ Lỗi 5: Phân tích mà không kiểm tra robots.txt
LinkedIn cấm phân tích trong robots.txt của họ và đang tích cực kiện các công ty thực hiện điều này trên quy mô công nghiệp. Điều này không có nghĩa là bạn không thể thu thập dữ liệu cho phân tích cá nhân — nhưng quan trọng là hiểu các rủi ro pháp lý khi sử dụng cho mục đích thương mại. HeadHunter thì khoan dung hơn, đặc biệt nếu sử dụng API chính thức.
❌ Lỗi 6: Proxy công cộng rẻ tiền
Proxy miễn phí hoặc rất rẻ từ các danh sách công cộng — là cái bẫy. Chúng đã bị chặn bởi hầu hết các nền tảng, hoạt động không ổn định, thường xuyên bị đánh cắp dữ liệu. Để làm việc nghiêm túc, cần có proxy trả phí từ các nhà cung cấp đáng tin cậy với IP dân cư hoặc di động thực sự.
Danh sách kiểm tra trước khi khởi động phân tích
- ✅ Sử dụng tài khoản riêng (không phải tài khoản làm việc chính)
- ✅ Kết nối proxy dân cư hoặc di động
- ✅ Đối với LinkedIn: một tài khoản = một IP cố định
- ✅ Độ trễ giữa các yêu cầu đã được thiết lập (tối thiểu 3 giây)
- ✅ User-Agent được thiết lập giống như trình duyệt thực tế
- ✅ Giới hạn yêu cầu hàng ngày được giới hạn ở các giá trị hợp lý
- ✅ Proxy đã được kiểm tra trước khi khởi động
- ✅ Địa lý proxy phù hợp với khu vực mục tiêu
Kết luận
Phân tích việc làm từ LinkedIn và HeadHunter là công cụ hữu ích cho các nhà tuyển dụng, nhà phân tích HR và các nhà nghiên cứu thị trường lao động. Điều quan trọng là chọn cách tiếp cận đúng: đối với HeadHunter, hãy bắt đầu với API chính thức, đối với LinkedIn, hãy sử dụng các công cụ chuyên biệt như Phantombuster hoặc Apify với proxy được thiết lập đúng.
Những điểm chính từ hướng dẫn: LinkedIn yêu cầu proxy dân cư hoặc di động với IP cố định cho mỗi tài khoản, HeadHunter ít nghiêm ngặt hơn nhưng cũng cần proxy cho khối lượng lớn. Tuân thủ giới hạn yêu cầu, giả lập hành vi của con người và không bao giờ sử dụng tài khoản chính cho tự động hóa.
Nếu bạn dự định giám sát việc làm thường xuyên hoặc thu thập dữ liệu quy mô lớn từ LinkedIn, chúng tôi khuyên bạn nên sử dụng proxy dân cư — chúng đảm bảo tính tương thích tối đa với cả hai nền tảng và rủi ro bị chặn tối thiểu ngay cả khi làm việc lâu dài.