Tính đến tháng 4 năm 2026, một lượt tìm kiếm trên GitHub với từ khóa "linkedin scraper" trả về khoảng . Phần lớn trong số đó chỉ làm bạn tốn thời gian. Nghe có vẻ gắt gỏng ư? Có thể. Nhưng đó là kết luận tôi rút ra sau khi rà soát tám repo nổi bật nhất, đọc hàng chục luồng issue trên GitHub, rồi đối chiếu thêm báo cáo từ cộng đồng trên Reddit lẫn các diễn đàn scraping. Mẫu số chung lặp đi lặp lại: repo nhiều sao thì hút chú ý, đội chống bot của LinkedIn lại đọc mã nguồn, cơ chế phát hiện bị vá, rồi người dùng chỉ còn selector hỏng, vòng lặp CAPTCHA, hoặc thậm chí là tài khoản bị khóa thẳng tay. Một người dùng Reddit mô tả tình hình rất thẳng: LinkedIn đã thêm "rate limit chặt hơn, nhận diện bot tốt hơn, theo dõi phiên làm việc, và thay đổi thường xuyên", còn các công cụ cũ giờ đây "hỏng rất nhanh hoặc bị gắn cờ tài khoản/IP". Nếu bạn là nhân viên sales, recruiter, hay quản lý ops đang cần dữ liệu LinkedIn để đưa vào spreadsheet, repo bạn clone tháng trước có khi đã chết rồi. Hướng dẫn này sẽ giúp bạn chọn ra dự án GitHub nào thật sự đáng để dành thời gian, cách tránh làm tài khoản “bay màu”, và khi nào nên bỏ hẳn chuyện tự viết code.
LinkedIn Scraper trên GitHub là gì?
Một dự án LinkedIn scraper trên GitHub là một script mã nguồn mở — thường viết bằng Python, đôi khi bằng Node.js — dùng để tự động trích xuất dữ liệu có cấu trúc từ các trang LinkedIn. Các mục tiêu phổ biến gồm:
- Hồ sơ cá nhân: tên, tiêu đề, công ty, địa điểm, kỹ năng, kinh nghiệm
- Tin tuyển dụng: tiêu đề, công ty, địa điểm, ngày đăng, URL việc làm
- Trang công ty: tổng quan, số lượng nhân sự, ngành nghề, số người theo dõi
- Bài đăng và tương tác: nội dung, lượt thích, bình luận, chia sẻ
Về mặt kỹ thuật, đa số repo dùng một trong hai hướng. Các scraper chạy trên trình duyệt dựa vào Selenium, Playwright hoặc Puppeteer để render trang, click qua các luồng điều hướng, rồi lấy dữ liệu bằng CSS selector hoặc XPath. Một nhóm nhỏ hơn cố gọi thẳng các endpoint API nội bộ của LinkedIn, dù không có tài liệu chính thức. Và một làn sóng mới — vẫn còn hiếm trên GitHub nhưng đang tăng dần — kết hợp tự động hóa trình duyệt với một LLM như GPT-4o mini để chuyển text trên trang thành các trường có cấu trúc mà không cần selector dễ vỡ.
Có một độ vênh cơ bản giữa công cụ và người dùng. Những công cụ này được xây bởi lập trình viên quen với virtual environment, dependency của trình duyệt và cấu hình proxy. Nhưng phần lớn người tìm "linkedin scraper github" lại là recruiter, SDR, quản lý RevOps và founder — họ chỉ muốn có vài dòng trong spreadsheet.
Khoảng cách đó giải thích phần lớn sự bực bội trong các luồng issue.
Vì sao người ta tìm đến GitHub để scrape LinkedIn
Sức hút thì quá rõ: miễn phí, tùy biến được, không bị khóa bởi nhà cung cấp, và kiểm soát hoàn toàn pipeline dữ liệu. Nếu một công cụ SaaS đổi giá hoặc ngừng hoạt động, code của bạn vẫn còn.
| Trường hợp sử dụng | Ai cần | Dữ liệu thường lấy |
|---|---|---|
| Tạo lead | Đội sales | Tên, chức danh, công ty, URL hồ sơ, manh mối email |
| Tìm ứng viên | Recruiter | Hồ sơ, kỹ năng, kinh nghiệm, địa điểm |
| Nghiên cứu thị trường | Đội ops và chiến lược | Dữ liệu công ty, quy mô nhân sự, tin tuyển dụng |
| Phân tích đối thủ | Đội marketing | Bài đăng, tương tác, cập nhật công ty, tín hiệu tuyển dụng |
Nhưng “miễn phí” chỉ là nhãn giấy phép, không phải chi phí vận hành. Chi phí thật sự nằm ở:
- Thời gian thiết lập: ngay cả các repo thân thiện cũng thường cần 30 phút đến hơn 2 giờ để dựng môi trường, cài dependency trình duyệt, trích cookie và cấu hình proxy
- Bảo trì: LinkedIn thay đổi DOM và lớp phòng thủ chống bot thường xuyên — scraper chạy tốt hôm nay có thể gãy vào tuần sau
- Proxy: băng thông proxy residential có giá khoảng tùy nhà cung cấp và gói
- Rủi ro tài khoản: tài khoản LinkedIn của bạn là thứ đắt giá nhất đang bị đặt lên bàn cân, và nó không thay thế được như một IP proxy
Bảng điểm sức khỏe repo: cách đánh giá bất kỳ dự án LinkedIn scraper nào trên GitHub
Phần lớn danh sách “best LinkedIn scraper” chấm repo chủ yếu theo số sao. Nhưng sao chỉ đo mức độ quan tâm trong quá khứ, không nói lên tình trạng hiện tại. Một repo có 3.000 sao nhưng không có commit từ năm 2022 chỉ là đồ trưng trong bảo tàng, không phải công cụ production.
Trước khi git clone bất kỳ thứ gì, hãy áp dụng khung đánh giá này:
| Tiêu chí | Vì sao quan trọng | Cờ đỏ |
|---|---|---|
| Ngày commit gần nhất | LinkedIn thay đổi DOM thường xuyên | Quá 6 tháng trước với repo chạy trên trình duyệt |
| Tỷ lệ issue mở/đóng | Mức độ phản hồi của người bảo trì | Tỷ lệ mở/đóng > 3:1, nhất là có các báo cáo gần đây về "blocked" hoặc "CAPTCHA" |
| Tính năng chống phát hiện | LinkedIn khóa rất gắt | README không nhắc tới cookie, session, pacing hay proxy |
| Phương thức xác thực | 2FA và CAPTCHA làm hỏng luồng đăng nhập | Chỉ hỗ trợ đăng nhập headless bằng mật khẩu |
| Loại giấy phép | Rủi ro pháp lý khi dùng thương mại | Không có license hoặc điều khoản mơ hồ |
| Loại dữ liệu được hỗ trợ | Các use case khác nhau cần repo khác nhau | Chỉ hỗ trợ một loại dữ liệu trong khi bạn cần nhiều hơn |
Mẹo tiết kiệm thời gian đơn giản nhất: trước khi gắn bó với repo nào, hãy tìm trong tab Issues các từ “blocked”, “banned”, “CAPTCHA” hoặc “not working”. Nếu issue gần đây đầy các từ này mà không thấy phản hồi từ maintainer, hãy bỏ qua. Repo đó coi như hết đường rồi.
Kiểm tra năm 2026 thực sự phát hiện gì

Tôi áp dụng bảng điểm này cho tám repo LinkedIn scraper nổi bật nhất trên GitHub. Kết quả không mấy sáng sủa.
| Repo | Sao | Commit gần nhất | Còn chạy được năm 2026? | Phạm vi chính | Ghi chú chính |
|---|---|---|---|---|---|
| joeyism/linkedin_scraper | ~3.983 | Tháng 4/2026 | ✅ Có điều kiện | Hồ sơ, công ty, bài đăng, việc làm | Viết lại bằng Playwright, tái sử dụng session — nhưng issue gần đây cho thấy bị chặn bảo mật và tìm kiếm việc làm hỏng |
| python-scrapy-playbook/linkedin-python-scrapy-scraper | ~111 | Tháng 1/2026 | ✅ Cho hướng dẫn/dữ liệu công khai | Người dùng, công ty, việc làm | Tích hợp proxy ScrapeOps; gói miễn phí cho phép 1.000 request/tháng với 1 luồng |
| spinlud/py-linkedin-jobs-scraper | ~472 | Tháng 3/2025 | ⚠️ Chỉ việc làm | Việc làm | Hỗ trợ cookie, chế độ proxy thử nghiệm — hữu ích nếu bạn chỉ cần tin tuyển dụng công khai |
| madingess/EasyApplyBot | ~170 | Tháng 3/2025 | ⚠️ Sai công cụ | Tự động ứng tuyển Easy Apply | Không phải scraper dữ liệu — chỉ tự động nộp đơn xin việc |
| linkedtales/scrapedin | ~611 | Tháng 5/2021 | ❌ | Hồ sơ | README vẫn nói “working in 2020”; issue cho thấy xác minh pin và thay đổi HTML |
| austinoboyle/scrape-linkedin-selenium | ~526 | Tháng 10/2022 | ❌ | Hồ sơ, công ty | Từng hữu ích, nhưng giờ quá cũ cho năm 2026 |
| eilonmore/linkedin-private-api | ~291 | Tháng 7/2022 | ❌ | Hồ sơ, việc làm, công ty, bài đăng | Wrapper cho private API; endpoint không tài liệu thay đổi khó đoán |
| nsandman/linkedin-api | ~154 | Tháng 7/2019 | ❌ | Hồ sơ, nhắn tin, tìm kiếm | Từng rất thú vị; tài liệu ghi nhận rate limit sau khoảng 900 request/giờ |
Chỉ 2 trong 8 repo trông còn đủ dùng cho người đọc năm 2026 mà không cần quá nhiều cảnh báo. Tỷ lệ đó không hề hiếm — nó gần như là trạng thái bình thường của scraping LinkedIn trên GitHub.
Kế hoạch phòng tránh bị khóa: proxy, rate limit và an toàn tài khoản
Bị khóa tài khoản là rủi ro vận hành lớn nhất. Ngay cả scraper giỏi về kỹ thuật cũng dễ thất bại ở chỗ này. Code chạy được; tài khoản thì không. Người dùng báo cáo bị gắn cờ chỉ sau khoảng dù đã dùng proxy và trì hoãn lâu.
Giới hạn tốc độ: cộng đồng báo cáo gì

Không có con số an toàn tuyệt đối. LinkedIn đánh giá tuổi của session, thời điểm click, kiểu burst, uy tín IP và hành vi tài khoản — không chỉ nhìn vào khối lượng thô. Dữ liệu cộng đồng thường gom quanh các mức sau:
- Một người dùng báo bị phát hiện sau 40–80 hồ sơ dù có proxy và nhịp chậm 33 giây
- Người khác khuyên chỉ nên ở mức khoảng 30 hồ sơ/ngày/tài khoản
- Một người vận hành “hung hăng” hơn tuyên bố có thể làm nếu rải đều trong ngày
- ghi nhận cảnh báo rate limit nội bộ sau khoảng 900 request trong một giờ
Kết luận thực tế: dưới 50 lượt xem hồ sơ/ngày/tài khoản là vùng rủi ro thấp hơn. 50–100/ngày là vùng rủi ro trung bình, nơi chất lượng session rất quan trọng. Trên 100/ngày/tài khoản thì độ mạo hiểm tăng rõ rệt.
Chiến lược proxy: residential hay datacenter
Proxy residential vẫn là tiêu chuẩn cho LinkedIn vì chúng trông giống lưu lượng người dùng bình thường. IP datacenter rẻ hơn nhưng dễ bị phát hiện hơn trên các trang tinh vi — và LinkedIn chính là kiểu trang tinh vi mà traffic rẻ tiền rất dễ bị để ý.
Bối cảnh giá hiện tại:
- : $3,00–$4,00/GB tùy gói
- : $4,00–$6,00/GB tùy gói
Hãy xoay vòng theo session, không phải theo từng request. Xoay IP mỗi request sẽ tạo ra dấu vân tay nói “hạ tầng proxy” rõ hơn bất kỳ IP riêng lẻ nào.
Quy trình dùng tài khoản “burner”
Lời khuyên từ cộng đồng rất thẳng: đừng coi tài khoản LinkedIn chính của bạn là hạ tầng scraping có thể dùng rồi bỏ.
Nếu vẫn quyết định scrape bằng tài khoản:
- Dùng một tài khoản riêng, tách khỏi danh tính nghề nghiệp chính của bạn
- Hoàn thiện hồ sơ đầy đủ và để nó hoạt động như người thật trong vài ngày trước khi scrape
- Tuyệt đối không gắn số điện thoại thật vào tài khoản dùng để scrape
- Giữ hoàn toàn tách biệt giữa phiên scraping với outreach và nhắn tin thực tế
Cần lưu ý: của LinkedIn (hiệu lực từ 3/11/2025) cấm rõ ràng danh tính giả và chia sẻ tài khoản. Cách dùng tài khoản burner phổ biến trong vận hành, nhưng về mặt hợp đồng thì khá rắc rối.
Xử lý CAPTCHA
CAPTCHA không chỉ là phiền toái. Nó là tín hiệu cho thấy session của bạn đã bị chú ý. Các lựa chọn gồm:
- Tự nhập thủ công để tiếp tục phiên
- Tái sử dụng cookie thay vì chạy lại luồng đăng nhập
- Dịch vụ giải CAPTCHA như (~$0,50–$1,00 cho mỗi 1.000 CAPTCHA hình ảnh, khoảng ~$1,00–$2,99 cho mỗi 1.000 lần giải reCAPTCHA v2)
Nhưng nếu workflow của bạn liên tục kích hoạt CAPTCHA, thì chi phí dịch vụ giải không còn là vấn đề lớn nữa. Hệ thống của bạn đang thua trong cuộc chiến ẩn mình.
Phổ rủi ro
| Khối lượng | Mức rủi ro | Cách làm khuyến nghị |
|---|---|---|
| < 50 hồ sơ/ngày | Thấp hơn | Dùng browser session hoặc tái sử dụng cookie, pacing chậm, không tự động hóa quá mạnh |
| 50–500 hồ sơ/ngày | Trung bình đến cao | Proxy residential, tài khoản đã “hâm nóng”, tái sử dụng session, độ trễ ngẫu nhiên |
| 500+/ngày | Rất cao | API thương mại hoặc công cụ được bảo trì với chống phát hiện tích hợp; repo GitHub công khai thường không đủ |
Nghịch lý mã nguồn mở: vì sao repo LinkedIn scraper nổi tiếng lại hỏng nhanh hơn
Người dùng đặt ra một băn khoăn rất hợp lý: “Làm phiên bản mã nguồn mở thì LinkedIn chỉ cần xem mình đang làm gì là chặn được thôi.” Lo ngại đó không hề viển vông. Nó đúng về mặt cấu trúc.
Vấn đề về mức độ lộ diện
Số sao cao tạo ra hai tín hiệu cùng lúc: niềm tin cho người dùng và mục tiêu cho đội an ninh của LinkedIn. Repo càng nổi tiếng, LinkedIn càng có động lực để chặn riêng phương pháp của nó.
Bạn có thể thấy vòng đời đó trong dữ liệu audit. linkedtales/scrapedin từng đủ nổi để quảng bá là chạy được với “website mới” của LinkedIn vào năm 2020. Nhưng repo đó đã không theo kịp các thay đổi về xác minh và bố cục về sau. nsandman/linkedin-api từng ghi lại các mẹo hữu ích, nhưng commit gần nhất của nó đã cách xa thời điểm hiện tại — tức là trong bối cảnh chống bot ngày nay.
Lợi thế của việc vá từ cộng đồng
Mã nguồn mở vẫn có một ưu điểm thật sự: maintainer và contributor tích cực có thể vá rất nhanh khi LinkedIn đổi cơ chế phòng thủ. joeyism/linkedin_scraper là ví dụ chính trong audit này — nó vẫn có issue về auth bị chặn và tìm kiếm hỏng, nhưng ít nhất vẫn đang được cập nhật. Các fork thường triển khai kỹ thuật né phát hiện mới nhanh hơn repo gốc.
Nên làm gì
- Đừng phụ thuộc vào một repo công khai duy nhất như hạ tầng lâu dài
- Theo dõi các fork đang hoạt động và có kỹ thuật né phát hiện mới
- Cân nhắc duy trì một private fork cho production (để các tùy biến riêng của bạn không bị công khai)
- Chuẩn bị tinh thần thay đổi phương pháp khi LinkedIn đổi cơ chế phát hiện hoặc hành vi giao diện
- Đa dạng hóa cách tiếp cận thay vì đặt cược tất cả vào một công cụ
Trích xuất bằng AI so với CSS selector: so sánh thực dụng

Sự tách biệt kỹ thuật đáng chú ý hơn trong năm 2026 không phải là GitHub so với no-code. Nó là trích xuất dựa trên selector so với trích xuất ngữ nghĩa — và khác biệt này quan trọng hơn nhiều bản tổng hợp vẫn thừa nhận.
CSS selector hoạt động thế nào (và vì sao nó gãy)
Các scraper truyền thống kiểm tra DOM của LinkedIn và ánh xạ từng trường vào một CSS selector hoặc biểu thức XPath. Khi cấu trúc trang ổn định, cách này rất tốt: độ chính xác cao, chi phí biên thấp, phân tích cực nhanh.
Điểm gãy thì cũng rất rõ. LinkedIn đổi class name, thay cấu trúc lồng nhau, đổi hành vi lazy-loading, hoặc chặn nội dung sau các lớp auth khác nhau — scraper sẽ hỏng ngay. Những tiêu đề issue trong audit đã kể hết câu chuyện: “changed HTML”, “broken job search”, “missing values”, “authwall blocks”.
Trích xuất AI/LLM hoạt động thế nào
Mẫu mới hơn thì đơn giản hơn về mặt khái niệm: render trang, thu toàn bộ text hiển thị, rồi yêu cầu mô hình xuất ra các trường có cấu trúc. Đó là logic đằng sau nhiều AI scraper no-code và một số workflow tùy biến mới hơn.
Dùng mức giá hiện tại của ($0,15/1 triệu token đầu vào, $0,60/1 triệu token đầu ra), một lượt trích xuất chỉ bằng text cho một hồ sơ thường tốn khoảng $0,0006–$0,0018 mỗi hồ sơ. Mức này quá nhỏ để đáng kể trong các workflow có khối lượng vừa phải.
So sánh trực tiếp
| Khía cạnh | CSS Selector / XPath | Trích xuất AI/LLM |
|---|---|---|
| Công sức thiết lập | Cao — phải đọc DOM, viết selector cho từng trường | Thấp — mô tả đầu ra mong muốn bằng ngôn ngữ tự nhiên |
| Gãy khi layout đổi | Hỏng ngay | Tự thích nghi (đọc theo ngữ nghĩa) |
| Độ chính xác với trường có cấu trúc | ~99% khi selector đúng | ~95–98% (thỉnh thoảng LLM diễn giải sai) |
| Xử lý dữ liệu không cấu trúc/biến thiên | Yếu nếu không có logic riêng | Mạnh — AI hiểu ngữ cảnh |
| Chi phí mỗi hồ sơ | Gần như bằng 0 (chỉ tính compute) | ~$0,001–$0,002 (chi phí token API) |
| Gắn nhãn/phân loại | Cần xử lý hậu kỳ riêng | Có thể phân loại, dịch, gắn nhãn trong một lượt |
| Gánh nặng bảo trì | Phải sửa selector liên tục | Gần như bằng 0 |
Nên chọn cách nào?
Với các pipeline ổn định, khối lượng rất lớn và do đội engineering sở hữu, parsing bằng selector vẫn có thể thắng về chi phí. Nhưng với phần lớn người dùng nhỏ và vừa chỉ scrape hàng trăm hồ sơ, không phải hàng triệu, trích xuất AI là khoản đầu tư dài hạn tốt hơn vì mỗi lần LinkedIn đổi layout sẽ tốn thời gian dev hơn nhiều so với token mô hình bạn tiết kiệm.
Khi repo GitHub quá mức cần thiết: đường đi no-code
Phần lớn người tìm "linkedin scraper github" không muốn trở thành người bảo trì tự động hóa trình duyệt.
Họ chỉ muốn dữ liệu dưới dạng từng dòng trong một bảng.
Người dùng còn phàn nàn thẳng về tính dễ dùng của scraper GitHub trong các luồng issue: “Nó không xử lý 2FA và cũng không dễ dùng vì không có giao diện.” Đối tượng ở đây là recruiter, SDR và quản lý ops — chứ không chỉ lập trình viên Python.
Quyết định tự xây hay mua
| Yếu tố | Repo GitHub | Công cụ no-code (ví dụ: Thunderbit) |
|---|---|---|
| Thời gian thiết lập | 30 phút–hơn 2 giờ (Python, dependency, proxy) | Dưới 2 phút (cài extension, bấm là chạy) |
| Bảo trì | Bạn tự sửa khi LinkedIn đổi | Nhà cung cấp công cụ lo cập nhật |
| Chống phát hiện | Bạn tự cấu hình proxy, độ trễ, session | Tích hợp sẵn trong công cụ |
| Cấu trúc dữ liệu | Bạn tự viết logic parse | AI tự gợi ý field |
| Tùy chọn xuất | Bạn tự xây pipeline xuất | Một click ra Excel, Google Sheets, Airtable, Notion |
| Chi phí | Repo miễn phí + chi phí proxy + thời gian của bạn | Có gói miễn phí; tính credit khi dùng nhiều |
Cách Thunderbit xử lý LinkedIn scraping không cần code
tiếp cận bài toán theo cách khác với repo GitHub. Thay vì viết selector hoặc cấu hình tự động hóa trình duyệt, bạn chỉ cần:
- Cài
- Truy cập bất kỳ trang LinkedIn nào (kết quả tìm kiếm, hồ sơ, trang công ty)
- Bấm “AI Suggest Fields” — AI của Thunderbit đọc trang và đề xuất các cột có cấu trúc (tên, chức danh, công ty, địa điểm, v.v.)
- Chỉnh lại cột nếu cần, rồi bấm để trích xuất
- Xuất trực tiếp sang Excel, Google Sheets, hoặc Notion
Vì Thunderbit dùng AI để đọc trang theo ngữ nghĩa mỗi lần, nó không gãy khi LinkedIn đổi DOM. Đó là cùng lợi thế như cách tích hợp GPT trong script Python tùy biến, nhưng được đóng gói thành một extension no-code thay vì một codebase bạn phải tự bảo trì.
Với — click vào từng hồ sơ từ danh sách kết quả tìm kiếm để làm giàu bảng dữ liệu — Thunderbit xử lý tự động. Chế độ browser hoạt động với các trang cần đăng nhập mà không cần cấu hình proxy riêng.
Ai vẫn nên dùng repo GitHub?
Repo GitHub vẫn hợp lý cho:
- Lập trình viên cần tùy biến sâu hoặc kiểu dữ liệu đặc biệt
- Đội ngũ scrape ở khối lượng rất lớn, nơi chi phí theo credit là vấn đề
- Người cần chạy scraping trong CI/CD hoặc trên server
- Người đang xây dựng dữ liệu LinkedIn vào các workflow tự động lớn hơn
Với những người còn lại — đặc biệt là đội sales, recruiting và ops — loại bỏ toàn bộ vòng lặp thiết lập và bảo trì.
Từng bước: cách đánh giá và dùng LinkedIn scraper từ GitHub
Nếu bạn đã quyết định GitHub là hướng đi phù hợp, đây là quy trình theo từng giai đoạn để giảm thời gian lãng phí và rủi ro cho tài khoản.
Bước 1: Tìm kiếm và chọn lọc repo
Tìm trên GitHub với từ khóa "linkedin scraper" và lọc theo:
- Cập nhật gần đây (6 tháng gần nhất)
- Ngôn ngữ phù hợp với stack của bạn (Python là phổ biến nhất)
- Phạm vi khớp với nhu cầu thật của bạn (hồ sơ, việc làm hay công ty)
Chọn trước 3–5 repo trông còn sống.
Bước 2: Áp dụng bảng điểm sức khỏe repo
Chạy từng repo qua bảng điểm đã nêu ở trên. Loại bỏ mọi thứ có:
- Không có commit trong năm qua
- Issue “blocked” hoặc “CAPTCHA” chưa được giải quyết
- Chỉ hỗ trợ xác thực bằng mật khẩu
- Không nhắc tới session, cookie hoặc proxy
Bước 3: Thiết lập môi trường
Các lệnh cài đặt thường gặp từ các repo trong đợt audit này:
1pip install linkedin-scraper
2playwright install chromium
3pip install linkedin-jobs-scraper
4LI_AT_COOKIE=<cookie> python your_app.py
5scrapy crawl linkedin_people_profile
Các điểm ma sát lặp lại:
- Thiếu file
session.json - Không khớp phiên bản browser driver (Chromium/Playwright)
- Trích cookie từ DevTools của trình duyệt
- Timeout khi xác thực proxy
Bước 4: Chạy thử trên quy mô nhỏ
Bắt đầu với 10–20 hồ sơ. Kiểm tra:
- Trường dữ liệu đã được parse đúng chưa?
- Dữ liệu có đầy đủ không?
- Có gặp checkpoint bảo mật nào không?
- Định dạng đầu ra dùng được không hay chỉ là JSON thô lộn xộn?
Bước 5: Mở rộng cẩn thận
Thêm độ trễ ngẫu nhiên (5–15 giây giữa các request), giảm concurrency, tái sử dụng session và dùng proxy residential. Đừng nhảy thẳng lên hàng trăm hồ sơ/ngày với tài khoản mới.
Bước 6: Xuất và tổ chức dữ liệu
Phần lớn repo GitHub sẽ xuất ra JSON hoặc CSV thô. Bạn vẫn cần:
- Khử trùng lặp bản ghi
- Chuẩn hóa chức danh và tên công ty
- Ánh xạ field vào CRM hoặc ATS của bạn
- Ghi lại nguồn gốc dữ liệu để tuân thủ
(Thunderbit tự xử lý cấu trúc và xuất nếu bạn muốn bỏ qua bước này.)
LinkedIn Scraper GitHub vs. công cụ no-code: so sánh đầy đủ
| Khía cạnh | Repo GitHub (CSS selector) | Repo GitHub (AI/LLM) | Công cụ no-code (Thunderbit) |
|---|---|---|---|
| Thời gian thiết lập | 1–2+ giờ | 1–3+ giờ (+ API key) | Dưới 2 phút |
| Kỹ năng kỹ thuật | Cao (Python, CLI) | Cao (Python + LLM API) | Không cần |
| Bảo trì | Cao (selector dễ gãy) | Trung bình (LLM thích nghi, code vẫn cần cập nhật) | Không cần (nhà cung cấp bảo trì) |
| Chống phát hiện | Tự làm (proxy, độ trễ) | Tự làm | Tích hợp sẵn |
| Độ chính xác | Cao khi đang chạy ổn | Cao, đôi lúc LLM sai | Cao (có AI hỗ trợ) |
| Chi phí | Miễn phí + chi phí proxy + thời gian của bạn | Miễn phí + chi phí LLM API + chi phí proxy | Gói miễn phí; tính credit khi dùng nhiều |
| Xuất dữ liệu | Tự làm (JSON, CSV) | Tự làm | Excel, Sheets, Airtable, Notion |
| Phù hợp nhất cho | Lập trình viên, pipeline tùy biến | Lập trình viên muốn giảm bảo trì | Đội sales, recruiting, ops |
Cân nhắc pháp lý và đạo đức
Tôi sẽ giữ phần này ngắn, nhưng không thể bỏ qua.
của LinkedIn (hiệu lực từ 3/11/2025) cấm rõ ràng việc dùng phần mềm, script, robot, crawler hoặc plugin trình duyệt để scrape dịch vụ này. LinkedIn đã thực thi điều đó bằng biện pháp pháp lý:
- : LinkedIn thông báo hành động pháp lý chống Proxycurl
- : LinkedIn cho biết vụ việc đã được giải quyết
- : Law360 đưa tin LinkedIn kiện thêm bị đơn khác vì hành vi scraping quy mô công nghiệp
Chuỗi án lệ hiQ v. LinkedIn tạo ra một số sắc thái quanh việc truy cập dữ liệu công khai, nhưng nghiêng về phía LinkedIn trong lập luận vi phạm hợp đồng. “Có thể thấy công khai” không có nghĩa là “an toàn rõ ràng để scrape ở quy mô lớn cho mục đích tái sử dụng thương mại”.
Với workflow liên quan EU, . của cơ quan bảo vệ dữ liệu Pháp là một ví dụ rất cụ thể cho thấy nhà quản lý coi dữ liệu LinkedIn bị scrape là dữ liệu cá nhân chịu sự điều chỉnh của quy định bảo vệ dữ liệu.
Dùng một công cụ được bảo trì như Thunderbit không làm thay đổi nghĩa vụ pháp lý của bạn. Nhưng nó có thể giảm nguy cơ vô tình kích hoạt phản ứng bảo mật hoặc vượt rate limit theo cách khiến LinkedIn chú ý.
Năm 2026 cái gì hiệu quả và cái gì không
Cái hiệu quả
- Dùng Bảng điểm sức khỏe repo trước khi commit vào bất kỳ repo nào
- Tái sử dụng cookie/session thay vì đăng nhập tự động lặp đi lặp lại
- Dùng proxy residential khi bắt buộc phải scrape bằng tài khoản
- Workflow nhỏ hơn, chậm hơn, giống hành vi con người hơn
- Trích xuất có hỗ trợ AI khi bạn ưu tiên tính thích nghi hơn chi phí token biên
- khi nhu cầu thật sự là xuất ra spreadsheet, không phải sở hữu scraper
- Đa dạng hóa cách tiếp cận thay vì cược vào một repo công khai duy nhất
Cái không hiệu quả
- Clone repo nhiều sao mà không kiểm tra trạng thái bảo trì hay issue gần đây
- Dùng proxy datacenter hoặc danh sách proxy miễn phí cho LinkedIn
- Mở rộng lên hàng trăm hồ sơ/ngày mà không có rate limit hay chống phát hiện
- Phụ thuộc lâu dài vào CSS selector mà không có kế hoạch bảo trì
- Coi tài khoản LinkedIn thật của bạn như hạ tầng có thể vứt bỏ
- Nhầm lẫn giữa “truy cập công khai” với “không có vấn đề về hợp đồng hay pháp lý”
Câu hỏi thường gặp
Repo LinkedIn scraper trên GitHub có còn chạy được trong năm 2026 không?
Có, nhưng chỉ là một phần nhỏ. Trong đợt audit tám repo nổi bật này, chỉ có hai repo trông đủ dùng cho người đọc năm 2026 mà không cần quá nhiều cảnh báo. Điều quan trọng là đánh giá repo theo hoạt động bảo trì và tình trạng issue, không phải theo số sao. Hãy dùng Bảng điểm sức khỏe repo trước khi tốn thời gian thiết lập cho bất kỳ dự án nào.
Mỗi ngày tôi có thể scrape bao nhiêu hồ sơ LinkedIn mà không bị khóa?
Không có con số an toàn đảm bảo, vì LinkedIn đánh giá hành vi session chứ không chỉ khối lượng. Báo cáo từ cộng đồng cho thấy dưới 50 hồ sơ/ngày/tài khoản là vùng rủi ro thấp hơn, 50–100/ngày là rủi ro trung bình nơi chất lượng hạ tầng rất quan trọng, và trên 100/ngày thì ngày càng mạo hiểm. Độ trễ ngẫu nhiên 5–15 giây và proxy residential có giúp, nhưng không xóa được rủi ro hoàn toàn.
Có lựa chọn no-code nào thay cho các dự án LinkedIn scraper GitHub không?
Có. cho phép bạn scrape các trang LinkedIn chỉ bằng vài cú click, với AI tự nhận diện field, xác thực ngay trên trình duyệt (không cần cấu hình proxy), và xuất một click sang Excel, Google Sheets, Airtable hoặc Notion. Công cụ này được thiết kế cho đội sales, recruiting và ops muốn có dữ liệu mà không phải tự bảo trì code. Bạn có thể thử qua .
Việc scrape dữ liệu LinkedIn có hợp pháp không?
Đây là vùng xám nhưng ngày càng có nhiều ranh giới rõ hơn. Thỏa thuận người dùng của LinkedIn cấm rõ việc scrape, và LinkedIn đã tiến hành hành động pháp lý với các scraper trong . Tiền lệ hiQ v. LinkedIn về truy cập dữ liệu công khai đã bị thu hẹp bởi các phán quyết gần đây hơn. GDPR áp dụng cho dữ liệu cá nhân của cư dân EU bất kể dữ liệu được thu thập như thế nào. Với bất kỳ use case thương mại nào, hãy xin tư vấn pháp lý phù hợp với hoàn cảnh của bạn.
Trích xuất AI hay CSS selector — nên dùng gì cho LinkedIn scraping?
CSS selector nhanh hơn và rẻ hơn trên mỗi bản ghi khi nó hoạt động, nhưng nó kéo bạn vào vòng sửa chữa liên tục vì LinkedIn thay đổi DOM thường xuyên. Trích xuất AI/LLM tốn hơn một chút cho mỗi hồ sơ (~$0,001–$0,002 theo ) nhưng tự thích nghi với thay đổi layout. Với phần lớn người dùng ngoài doanh nghiệp đang scrape hàng trăm chứ không phải hàng triệu hồ sơ, trích xuất AI là khoản đầu tư dài hạn tốt hơn. Engine AI tích hợp sẵn của Thunderbit mang lại lợi thế này mà bạn không cần viết hay bảo trì bất kỳ code nào.
Tìm hiểu thêm
