Làm thế nào để vượt qua CAPTCHA khi quét web? – 5 bước đơn giản

làm thế nào để, cạo, Tháng Giêng-04-20235 phút đọc

Khi bạn thu thập dữ liệu từ các trang web quy mô lớn, ít có khả năng bạn không phải đối mặt với CAPTCHA để chứng minh rằng bạn là con người. Là một người quét web, bạn có thể đã biết lý do tại sao các chuyên gia an ninh mạng buộc phải phát minh ra chúng. Chúng là kết quả của việc bot của bạn tự động hóa các yêu cầu trang web vô tận để truy cập chúng.

Khi bạn thu thập dữ liệu từ các trang web quy mô lớn, ít có khả năng bạn không phải đối mặt với CAPTCHA để chứng minh rằng bạn là con người. Là một người quét web, bạn có thể đã biết lý do tại sao các chuyên gia an ninh mạng buộc phải phát minh ra chúng. Chúng là kết quả của việc bot của bạn tự động hóa các yêu cầu trang web vô tận để truy cập chúng. Vì vậy, ngay cả những người dùng chân chính cũng phải trải qua những khó khăn khi đối đầu với CAPTCHA xuất hiện dưới nhiều hình thức khác nhau. Tuy nhiên, bạn có thể bỏ qua CAPTCHA cho dù bạn có phải là người quét web hay không, đó sẽ là mục tiêu của bài viết này. Nhưng trước tiên, chúng ta hãy đi sâu vào CAPTCHA là gì.

Bỏ qua CAPTCHA để quét web

CAPTCHA thường được kích hoạt để phát hiện lưu lượng truy cập không tự nhiên trong trang web. Vì vậy, điều này có thể có thể làm gián đoạn các scraper trong khi trích xuất dữ liệu với số lượng lớn. Để vượt qua hạn chế này, người dùng thích một giải pháp có thể bẻ khóa tất cả các mã CAPTCHA này và truy cập trang web như một con người thực sự. Một giải pháp để vượt qua captcha là Capsolver. Sử dụng proxy với các yêu cầu web cũng sẽ giúp người dùng xuất hiện dưới dạng lưu lượng truy cập tự nhiên. 

CAPTCHA là gì?

CAPTCHA là viết tắt của Totally Automated Public Turing Test để phân biệt máy tính và con người. Đó là một từ viết tắt khá dài, phải không? Bây giờ bạn có thể tự hỏi phần cuối cùng của từ viết tắt này, Kiểm tra Turing có nghĩa là gì - tốt, đây là một bài kiểm tra đơn giản để xác định xem con người hay bot đang tương tác với trang web hoặc máy chủ web.

Xét cho cùng, CAPTCHA phân biệt con người với bot, giúp các nhà phân tích an ninh mạng bảo vệ các máy chủ web khỏi các cuộc tấn công vũ phu, DDoS và trong một số tình huống, quét web. 

Chúng ta hãy tìm hiểu làm thế nào CAPTCHA phân biệt con người với bot.

CAPTCHA hoạt động như thế nào?

Bạn có thể tìm thấy CAPTCHA trong các hình thức của một trang web, bao gồm liên hệ, đăng ký, nhận xét, đăng ký hoặc biểu mẫu thanh toán.

CAPTCHA truyền thống bao gồm một hình ảnh với các chữ cái, số kéo dài hoặc mờ hoặc cả hai trong một hộp có màu nền hoặc nền trong suốt. Sau đó, bạn phải xác định các ký tự và nhập chúng vào trường văn bản theo sau. Quá trình xác định ký tự này dễ dàng hơn đối với con người nhưng hơi phức tạp đối với bot.

Ý tưởng làm mờ hoặc bóp méo văn bản CAPTCHA là làm cho bot khó xác định các ký tự hơn. Ngược lại, con người có thể giải thích và chặn các ký tự ở nhiều định dạng khác nhau, chẳng hạn như phông chữ, chữ viết tay khác nhau, v.v. Phải nói rằng, không phải mọi người đều có thể giải quyết CAPTCHA trong lần thử đầu tiên. Theo nghiên cứu, 8% người dùng sẽ gõ sai trong lần thử đầu tiên của họ, trong khi 29% thất bại nếu CAPTCHA phân biệt chữ hoa chữ thường.

Mặt khác, một số bot tiên tiến có thể chặn các chữ cái bị bóp méo với sự hỗ trợ của học máy trong những năm qua. Kết quả là, một số công ty như Google đã thay thế CAPTCHA thông thường bằng CAPTCHA tinh vi. Một ví dụ như vậy là ReCAPTCHA mà bạn sẽ khám phá trong phần tiếp theo.

ReCAPTCHA là gì?

ReCAPTCHA là một dịch vụ miễn phí mà Google cung cấp. Nó yêu cầu người dùng đánh dấu vào các hộp thay vì nhập văn bản, giải câu đố hoặc phương trình toán học.

Một ReCAPTCHA điển hình tiên tiến hơn các dạng CAPTCHA thông thường. Nó sử dụng hình ảnh và văn bản trong thế giới thực như đèn giao thông trên đường phố, văn bản từ báo cũ và sách in. Do đó, người dùng không phải dựa vào CAPTCHA cũ với văn bản mờ và méo mó.

ReCAPTCHA hoạt động như thế nào?

Có ba loại xét nghiệm ReCAPTCHA quan trọng để xác minh xem bạn có phải là con người hay không:

Hộp kiểm

Đây là những ReCAPTCHA yêu cầu người dùng đánh dấu vào hộp kiểm, "Tôi không phải là robot" như trong hình trên. Mặc dù có vẻ như bằng mắt thường rằng ngay cả một bot cũng có thể hoàn thành thử nghiệm này, một số yếu tố được tính đến:

  • Thử nghiệm này điều tra chuyển động chuột của người dùng khi nó tiếp cận hộp kiểm.
  • Chuyển động chuột của người dùng không thẳng, bao gồm hầu hết các chuyển động chuột trực tiếp. Thật khó để một bot bắt chước cùng một hành vi.
  • Cuối cùng, ReCAPTCHA sẽ kiểm tra các cookie mà trình duyệt của bạn lưu trữ.

Nếu ReCAPTCHA không xác minh được rằng bạn là con người, nó sẽ đưa ra cho bạn một thách thức khác.

Nhận dạng hình ảnh

Các ReCAPTCHA này cung cấp cho người dùng chín hoặc mười sáu hình ảnh vuông như bạn có thể thấy trong hình trên. Mỗi ô vuông đại diện cho một phần của hình ảnh lớn hơn hoặc các hình ảnh khác nhau. Người dùng phải chọn các ô vuông đại diện cho các đối tượng, động vật, cây cối, phương tiện hoặc đèn giao thông cụ thể.

Nếu lựa chọn của người dùng khớp với lựa chọn của những người dùng khác đã thực hiện cùng một thử nghiệm, người dùng sẽ được xác minh. Nếu không, ReCAPTCHA sẽ đưa ra một bài kiểm tra khó khăn hơn.

Không có tương tác

Bạn có biết rằng ReCAPTCHA có thể xác minh xem bạn có phải là con người hay không mà không cần sử dụng hộp kiểm hoặc bất kỳ tương tác người dùng nào?

Nó chắc chắn làm bằng cách xem xét lịch sử tương tác của người dùng với các trang web và hành vi chung của người dùng khi trực tuyến. Trong hầu hết các tình huống, dựa trên các yếu tố này, hệ thống sẽ có thể xác định xem bạn có phải là bot hay không.

Nếu không làm như vậy sẽ trở lại bất kỳ phương pháp nào trong hai phương pháp đã đề cập trước đó.

Điều gì kích hoạt CAPTCHA và ReCAPTCHAs?

CAPTCHA có thể được kích hoạt nếu một trang web phát hiện các hoạt động bất thường giống với hành vi của bot; Hành vi bất thường như vậy bao gồm các yêu cầu không giới hạn trong vòng vài giây và nhấp vào các liên kết với tỷ lệ cao hơn nhiều so với con người. 

Sau đó, một số trang web sẽ tự động có CAPTCHA tại chỗ để bảo vệ hệ thống của họ.

Theo như ReCAPTCHA có liên quan, không rõ chính xác điều gì kích hoạt chúng. Tuy nhiên, nguyên nhân chung là chuyển động chuột, lịch sử duyệt web và theo dõi cookie.

Những điều cần biết về việc bỏ qua CAPTCHA khi quét web

Bây giờ bạn đã có một cái nhìn tổng quan rõ ràng về CAPTCHA và Rechaptcha là gì, cách chúng hoạt động và điều gì kích hoạt chúng. Bây giờ là lúc để xem xét CAPTCHA ảnh hưởng đến việc quét web như thế nào.

CAPTCHA có thể cản trở việc quét web vì các bot tự động thực hiện hầu hết các hoạt động cạo. Tuy nhiên, đừng nản lòng. Như đã đề cập ở đầu bài viết này, có nhiều cách để vượt qua CAPTCHA khi quét web. Trước khi chúng tôi đến với họ, chúng ta hãy đi sâu vào sự chú ý của chúng tôi đến những gì bạn cần biết trước khi bạn cạo.

Gửi quá nhiều yêu cầu đến trang web mục tiêu

Trước hết, bạn phải đảm bảo rằng bạn không cho phép trình quét / trình thu thập thông tin web của mình gửi quá nhiều yêu cầu trong một khoảng thời gian ngắn. Hầu hết các trang web đã đề cập trong các trang điều khoản và điều kiện của họ có bao nhiêu yêu cầu mà trang web cho phép. Hãy chắc chắn đọc chúng trước khi bắt đầu cạo.

Tiêu đề HTTP

Khi bạn kết nối với một trang web, bạn gửi thông tin về thiết bị của mình đến trang web kết nối. Họ có thể sử dụng thông tin này để tùy chỉnh nội dung theo thông số kỹ thuật của thiết bị và theo dõi số liệu của bạn. Vì vậy, khi họ phát hiện ra rằng các yêu cầu đến từ cùng một thiết bị, bất kỳ yêu cầu nào bạn gửi sau đó sẽ bị chặn.

Vì vậy, nếu bạn đã tự phát triển trình quét / trình thu thập thông tin web, bạn sẽ có thể thay đổi thông tin tiêu đề cho mỗi yêu cầu mà trình cạp của bạn thực hiện. Sau đó, nó sẽ xuất hiện với trang web mục tiêu vì nó đang nhận được nhiều yêu cầu từ các thiết bị khác nhau. Đọc ở đây để biết thêm thông tin về tiêu đề HTTP.

Địa chỉ IP

Một thực tế khác bạn nên biết là trang web mục tiêu chưa đưa địa chỉ IP của bạn vào danh sách đen. Họ có khả năng đưa địa chỉ IP của bạn vào danh sách đen khi bạn gửi quá nhiều yêu cầu bằng trình cạp/trình thu thập thông tin của mình. 

Để khắc phục sự cố trên, bạn có thể sử dụng máy chủ proxy vì nó che giấu địa chỉ IP của bạn. 

Xoay các tiêu đề HTTP và proxy (nhiều hơn về điều này trong phần tiếp theo) với một nhóm sẽ đảm bảo rằng nhiều thiết bị truy cập trang web từ các vị trí khác nhau. Vì vậy, bạn sẽ có thể tiếp tục cạo mà không bị gián đoạn từ CAPTCHA. Phải nói rằng bạn phải đảm bảo rằng bạn không làm tổn hại đến hiệu suất của trang web bằng bất kỳ phương tiện nào.

Tuy nhiên, bạn cần lưu ý rằng proxy sẽ không giúp bạn vượt qua CAPTCHA trong việc đăng ký, thay đổi mật khẩu, biểu mẫu thanh toán, v.v. Nó chỉ có thể giúp bạn khắc phục các ảnh chụp mà các trang web kích hoạt do có hành vi bot. Để tránh CAPTCHA trong các hình thức như vậy, chúng tôi sẽ xem xét các bộ giải CAPTCHA trong phần sắp tới.

Các loại CAPTCHA khác

Ngoài các yếu tố chính trên, bạn cần biết các CAPTCHA dưới đây khi quét web bằng bot:

Honeypots-Honeypot sẽ là một loại CAPTCHA được đặt trong một trường biểu mẫu HTML hoặc liên kết, nhưng khả năng hiển thị của nó bị ẩn với CSS.So khi một bot tương tác với nó chắc chắn đã báo cáo chính nó là một bot. Vì vậy, trước khi làm cho bot của bạn cạo nội dung, hãy đảm bảo rằng các thuộc tính CSS của phần tử được hiển thị.

Word/Match CAPTCHA-Đây là những CAPTCHA trong các phương trình toán học như giải "3+7" chẳng hạn. Cũng có thể có các câu đố chữ để giải quyết.

Đăng nhập mạng xã hội – Ví dụ: một số trang web yêu cầu bạn đăng nhập bằng tài khoản Facebook của mình. Tuy nhiên, chúng không phổ biến vì hầu hết các quản trị viên đều biết rằng mọi người sẽ miễn cưỡng ký chúng bằng tài khoản truyền thông xã hội của họ.

Theo dõi thời gian – Các CAPTCHA này giám sát tốc độ bạn thực hiện một hành động cụ thể, chẳng hạn như điền vào biểu mẫu để xác định xem đó là con người hay bot.

Cách vượt qua CAPTCHA để quét web

Xoay proxy và sử dụng địa chỉ IP chất lượng

Như đã đề cập trong phần trước, bạn cần xoay vòng proxy mỗi khi gửi yêu cầu đến trang web đích. Đó là một cách để tránh CAPTCHA kích hoạt trong khi bạn cạo. Trong những trường hợp này, bạn cần sử dụng proxy IP khu dân cư sạch.

Khi bạn xoay vòng proxy, trang web mục tiêu sẽ khó xác định dấu chân IP của bạn. Điều này là do, đối với mỗi yêu cầu, địa chỉ IP của proxy sẽ xuất hiện thay vì của riêng bạn.

Xoay vòng Tác nhân người dùng

Vì bạn sẽ sử dụng trình quét để quét web, bạn sẽ cần ngụy trang tác nhân người dùng thành trình duyệt web phổ biến hoặc bot được hỗ trợ — các bot như bot công cụ tìm kiếm mà các trang web nhận ra.

Chỉ thay đổi tác nhân người dùng sẽ không đủ vì bạn sẽ cần phải có một danh sách các chuỗi tác nhân người dùng và sau đó xoay vòng chúng. Việc xoay vòng này sẽ dẫn đến việc trang web mục tiêu xem bạn như một thiết bị khác trong khi thực tế, một thiết bị đang gửi tất cả các yêu cầu.

Như một thực tiễn tốt nhất cho bước này, sẽ rất tuyệt nếu giữ một cơ sở dữ liệu về các tác nhân người dùng thực. Ngoài ra, hãy xóa cookie khi bạn không còn cần chúng nữa.

Dịch vụ giải CAPTCHA

Một phương pháp kỹ thuật thấp đơn giản hơn để giải CAPTCHA sẽ là sử dụng dịch vụ giải CAPTCHA. Họ sử dụng Trí tuệ nhân tạo (AI), Học máy (MI) và đỉnh cao của các công nghệ khác để giải CAPTCHA.

Một số bộ giải CAPTCHA nổi bật hiện đang tồn tại trong ngành là CapsolverAnti-CAPTCHA.

Tránh các liên kết trực tiếp

Khi bạn để scraper của mình truy cập trực tiếp vào URL cứ sau mỗi giây, thì trang web nhận sẽ đáng ngờ. Kết quả là, trang web mục tiêu sẽ kích hoạt CAPTCHA.

Để tránh tình huống như vậy, bạn có thể đặt tiêu đề giới thiệu để làm cho nó có vẻ được giới thiệu từ một trang khác. Nó sẽ làm giảm khả năng bị phát hiện như một bot. Ngoài ra, bạn có thể làm cho bot truy cập các trang khác trước khi truy cập liên kết mong muốn.

Tránh Honeypots

Honeypots là các yếu tố ẩn trên một trang web mà các chuyên gia bảo mật sử dụng để bẫy bot hoặc kẻ xâm nhập. Mặc dù trình duyệt hiển thị HTML của nó, các thuộc tính CSS của nó được đặt để ẩn. Tuy nhiên, không giống như con người, mã nồi mật ong sẽ hiển thị cho các bot khi chúng cạo dữ liệu. Kết quả là họ rơi vào cái bẫy do nồi mật ong đặt ra.

Vì vậy, bạn phải chắc chắn rằng bạn kiểm tra các thuộc tính CSS của tất cả các phần tử trong một trang web không bị ẩn hoặc vô hình trước khi bạn bắt đầu cạo. Chỉ khi bạn chắc chắn rằng không có yếu tố nào bị ẩn, bạn mới đặt bot của mình để cạo.

Các câu hỏi thường gặp

Câu hỏi thường gặp:

1. Bỏ qua CAPTCHA cho Web Scraping có nghĩa là gì?
Bỏ qua CAPTCHA chỉ đơn giản là quá trình loại bỏ các trình chặn phát sinh trong khi thu thập dữ liệu từ nhiều trang web. Vì CAPTCHA được thiết kế để xác minh xem lưu lượng truy cập web có phải trả tiền hay không.
2. ReCaptcha là gì?
ReCaptcha ngăn các trang web của bạn khỏi spam và lưu lượng truy cập bot độc hại. Nó tạo ra các câu đố tương tác để phân biệt lưu lượng truy cập không phải trả tiền với lưu lượng truy cập bot.
3. Proxy sẽ giúp người dùng vượt qua Captcha như thế nào?
Khi bạn gửi các yêu cầu web trở lại từ bot hoặc bất kỳ giải pháp cạo nào, CAPTCHA có thể dễ dàng xác định lưu lượng truy cập là từ bot spam. Vì vậy, sử dụng địa chỉ proxy từ proxy sẽ cho phép bạn xuất hiện giống như lưu lượng truy cập thời gian thực hơn.

Kết thúc

Bài viết này sẽ cung cấp cho bạn một ý tưởng toàn diện về cách tránh CAPTCHA trong khi quét web. Tránh CAPTCHA có thể là một quá trình phức tạp. Tuy nhiên, với việc sử dụng các kỹ thuật cụ thể được thảo luận trong bài viết này, bạn có thể phát triển bot theo cách để tránh CAPTCHA.

Chúng tôi hy vọng bạn sẽ sử dụng tất cả các kỹ thuật được thảo luận trong bài viết này.