Làm việc với CAPTCHA
Để làm việc và giải quyết captcha trong A-Parser, các phương thức đặc biệt đã được triển khai cho phép gửi captcha đến dịch vụ giải mã captcha bằng cách sử dụng các công cụ cào dữ liệu:
Util::AntiGate - giải mã captcha dưới dạng hình ảnh có chứa chữ cái/chữ số/từ ngữ
Util::ReCaptcha2 - giải mã Google ReCaptcha v2
Util::ReCaptcha3 - giải mã Google ReCaptcha v3
Util::hCaptcha - giải mã captcha hCaptcha
Util::Turnstile - giải mã captcha Cloudflare Turnstile
Cũng có thể dễ dàng giải mã CAPTCHA bằng cách sử dụng phương thức await this.parser.request()
Ví dụ, việc gọi phương thức này cho Google ReCaptcha v2 sẽ trông như sau:
await this.parser.request('Util::ReCaptcha2', this.conf.Util_ReCaptcha2_preset, {}, siteKey + ' ' + endPoint);
Bạn có thể tìm hiểu chi tiết hơn trong ví dụ từ danh mục Kiểm tra danh mục trang web thông qua dịch vụ cyren.com
Chi tiết về CAPTCHA bypass (Vượt captcha)
await this.captcha.*
Làm việc với captcha
.recognize(preset, image, type[, overrides])
await this.captcha.recognize(preset, image, type, overrides) - tải captcha để nhận dạng
image- dữ liệu nhị phân của hình ảnh để nhận dạngpreset- chỉ định mẫu thiết lập (preset) cho
Util::AntiGatetypechỉ định một trong các loại: 'jpeg', 'gif', 'png'
Kết quả sẽ là một hash với các trường:
answer- văn bản từ hình ảnhid- id của captcha, để có thể báo lỗi sau này thông qua.reportBaderror- lỗi văn bản, nếu answer không được xác định
.recognizeFromUrl(preset, url[, overrides])
await this.captcha.recognizeFromUrl(preset, url, overrides) - tương tự như phương thức trước, nhưng việc tải captcha sẽ được thực hiện tự động theo liên kết (url), không sử dụng proxy
.reportBad(preset, id[, overrides])
await this.captcha.reportBad(preset, id, overrides) - báo cho dịch vụ rằng captcha đã được giải sai
Liên kết hữu ích
🔗 ⏩ Tạo công cụ cào dữ liệu JS. Làm việc với CAPTCHA
Video về cách viết một công cụ cào dữ liệu JS có hỗ trợ antigate để giải mã captcha trên các trang web
🔗 Tạo công cụ cào dữ liệu JS. Làm việc với CAPTCHA
Bài viết về cách viết một công cụ cào dữ liệu JS có hỗ trợ antigate để giải mã captcha trên các trang web
🔗 Kiểm tra danh mục trang web thông qua dịch vụ cyren.com
Ví dụ về việc triển khai kết nối Util::ReCaptcha2 trong công cụ cào dữ liệu JS