
Anh Tuan
Data Science Expert

Cho phép trợ lý AI của bạn kích hoạt trích xuất dữ liệu tự động ở phía máy chủ — không cần chèn trình duyệt, không cần mã.
Khi Tác nhân AI của bạn điều hướng web, CAPTCHA là trở ngại chính. Các trang được bảo vệ chặn tác nhân, biểu mẫu không thể được gửi và các tác vụ bị đình trệ, chờ đợi sự can thiệp của con người. Điều này hạn chế đáng kể hiệu quả và tính tự chủ của các Tác nhân AI trong việc thu thập dữ liệu tự động và xử lý thông tin.
Để giải quyết vấn đề cốt lõi này, chúng tôi cung cấp hai giải pháp mạnh mẽ kết hợp OpenClaw và CapSolver:
Cách tiếp cận 1 — Tích hợp tiện ích mở rộng trình duyệt
Tải tiện ích mở rộng CapSolver Chrome vào môi trường trình duyệt của OpenClaw. Tiện ích mở rộng này phát hiện và giải quyết CAPTCHA một cách vô hình ở phía máy khách, không có sự tham gia của n8n, cho phép Tác nhân AI vượt qua xác minh một cách liền mạch trong khi điều hướng các trang. (Xem hướng dẫn đầy đủ của chúng tôi về cách tiếp cận tiện ích mở rộng)
Cách tiếp cận 2 — Đường ống tự động hóa n8n phía máy chủ (Trọng tâm của Hướng dẫn này)
OpenClaw kích hoạt một yêu cầu webhook duy nhất và n8n sau đó giải quyết CAPTCHA thông qua API CapSolver, gửi biểu mẫu và trả về nội dung trang sạch cho Tác nhân AI của bạn. Trong quá trình này, Tác nhân AI không bao giờ trực tiếp xử lý xác minh CAPTCHA.
Những gì bạn sẽ xây dựng:
Một đường ống tự động hóa CAPTCHA phía máy chủ mà OpenClaw kích hoạt thông qua webhook. n8n sẽ tận dụng CapSolver để giải quyết CAPTCHA, gửi biểu mẫu và trả về nội dung trang đã xử lý cho Tác nhân AI của bạn, đảm bảo thực hiện trơn tru các tác vụ trích xuất dữ liệu.
Trước khi bắt đầu, hãy đảm bảo bạn có môi trường và các công cụ sau:
openclaw gateway start)CapSolver có sẵn dưới dạng tích hợp chính thức trong n8n, không yêu cầu cài đặt thêm nút cộng đồng. Bạn có thể tìm thấy nó trực tiếp trong bảng điều khiển nút khi xây dựng quy trình làm việc của mình. Để cho phép nút CapSolver xác thực với tài khoản của bạn, bạn cần tạo thông tin xác thực trong n8n.
Mở canvas n8n của bạn, nhấp vào + để thêm nút và tìm kiếm CapSolver. Nút này xử lý việc tạo tác vụ, thăm dò ý kiến và truy xuất mã thông báo trong một đơn vị duy nhất.
Các bước để thêm thông tin xác thực của bạn:
Quan trọng: Mọi nút CapSolver trong quy trình làm việc của bạn sẽ tham chiếu thông tin xác thực này. Bạn chỉ cần tạo nó một lần — tất cả các quy trình làm việc giải quyết CAPTCHA của bạn sẽ chia sẻ cùng một thông tin xác thực. Hơn nữa, CapSolver chính thức cung cấp một kho lưu trữ Kỹ năng GitHub phong phú, nơi bạn có thể khám phá thêm các tích hợp và trường hợp sử dụng liên quan đến CapSolver, mở rộng hơn nữa khả năng của Tác nhân AI của bạn.
Mọi thứ bên dưới đều là ví dụ. Các URL, tên trường, loại CAPTCHA, điều kiện thành công, cấu trúc phản hồi — tất cả đều cụ thể cho trang web demo được sử dụng ở đây. Mục tiêu thực sự của bạn sẽ khác. Hãy coi mỗi cấu hình nút là một điểm khởi đầu, không phải là một thiết lập hoàn chỉnh.
pageText từ phản hồi.Webhook ──► Giải quyết CAPTCHA ──► Gửi mã thông báo ──► Thành công? ──► Trích xuất kết quả ──► Phản hồi Webhook
└─► Đánh dấu thất bại ────┘
Tạo một quy trình làm việc mới có tên “OpenClaw/Capsolver/n8n Scraper” với các nút sau:
openclaw/scrapeReCaptchaV2TaskProxylesshttps://example.com/protected-pageYOUR_SITE_KEY (tìm nó trong nguồn trang — tìm data-sitekey)Sử dụng reCAPTCHA v3? Chuyển Loại tác vụ thành
ReCaptchaV3TaskProxylessvà thêm trường Hành động trang (ví dụ:login,submit,homepage). Điều này là bắt buộc đối với v3 — đó là tên hành động mà trang web đăng ký với Google. Bạn sẽ tìm thấy nó trong nguồn trang gần lệnh gọigrecaptcha.execute(...).Hãy nhớ rằng mỗi loại CAPTCHA có bộ tham số riêng — một số trường tùy chọn trong v2 trở thành bắt buộc trong v3 và v3 có thể hiển thị các trường hoàn toàn không tồn tại trong v2 (như
minScore). Luôn kiểm tra tài liệu CapSolver để biết các tham số chính xác mà Loại tác vụ của bạn yêu cầu.
Nút này gọi API CapSolver, đợi giải quyết (thường là 5–20 giây) và trả về mã thông báo trong $json.data.solution.gRecaptchaResponse.
https://example.com/protected-pageg-recaptcha-response = ={{ $json.data.solution.gRecaptchaResponse }}Điều này gửi biểu mẫu với mã thông báo đã giải quyết, chính xác như một trình duyệt sẽ làm.
Chú ý: Cách mã thông báo được gửi khác nhau tùy theo trang web. Hầu hết các biểu mẫu đều mong đợi nó trong phần thân yêu cầu dưới dạng
g-recaptcha-response, nhưng một số trang web gửi nó dưới dạng trường JSON, tiêu đề tùy chỉnh hoặc thậm chí là cookie hoặc tên khác. Sử dụng DevTools của trình duyệt của bạn (tab Mạng) để kiểm tra xem một lần gửi thực sự trông như thế nào và phản chiếu điều đó trong nút Yêu cầu HTTP của bạn.
$json.data chứa "recaptcha-success"Cả hai nhánh đều đặt một trường duy nhất:
pageText = {{ $json.data }}Nhánh thành công và thất bại đều vượt qua pageText — người gọi có thể kiểm tra HTML để xác định kết quả.
Điều chỉnh điều này cho trang của bạn: Cách bạn phân tích cú pháp và sử dụng dữ liệu phản hồi hoàn toàn phụ thuộc vào những gì bạn muốn và những gì trang web mục tiêu trả về. Một số trang trả về JSON, những trang khác trả về HTML, một số chuyển hướng khi thành công. Bạn có thể muốn trích xuất một trường cụ thể, phân tích cú pháp bảng, kiểm tra cookie phiên hoặc loại bỏ hoàn toàn HTML. Điều kiện thành công (
"recaptcha-success") cũng chỉ là một ví dụ — trang web của bạn sẽ có chỉ báo riêng. Các nút này là điểm khởi đầu; mong đợi sẽ tùy chỉnh chúng cho trường hợp sử dụng của bạn.
Nút này chuyển { pageText, savedAt } tới phản hồi webhook và tùy chọn duy trì kết quả vào bộ nhớ.
Lưu ý: Nút Mã của n8n chạy trong một máy ảo hộp cát chặn các phần tích hợp sẵn của Node.js như
require('fs'). Sử dụng nút Thực thi lệnh để ghi vào đĩa hoặc thay thế hoàn toàn nút này bằng bất kỳ tích hợp n8n nào phù hợp với ngăn xếp của bạn.
Tùy chọn A — Tệp JSON cục bộ (Nút Thực thi lệnh):
Sử dụng hai nút được xâu chuỗi với nhau:
Nút 7a — Chuẩn bị dữ liệu (Nút mã):
const item = $input.first().json;
const now = new Date();
const savedAt = now.toISOString();
const data = { pageText: item.pageText || '', savedAt };
const encoded = Buffer.from(JSON.stringify(data)).toString('base64');
const cmd = 'python3 /path/to/save-result.py ' + encoded;
return [{ json: { cmd, pageText: data.pageText, savedAt } }];
Nút 7b — Lưu kết quả (Nút Thực thi lệnh):
={{ $json.cmd }}Trong đó save-result.py đọc đối số base64 và nối vào tệp JSON cục bộ.
Tùy chọn B — Bất kỳ bộ nhớ nào được n8n hỗ trợ:
n8n có các nút gốc cho hầu hết mọi hệ thống lưu trữ. Thay thế Nút 7 bằng bất kỳ nút nào sau đây:
| Bộ nhớ | Nút n8n |
|---|---|
| Google Sheets | Nối một hàng với pageText + dấu thời gian |
| Airtable | Tạo một bản ghi |
| Notion | Tạo một mục cơ sở dữ liệu |
| PostgreSQL / MySQL | CHÈN vào một bảng |
| AWS S3 / Cloudflare R2 | Tải lên tệp JSON |
| Slack / Telegram | Đăng kết quả lên một kênh |
Chỉ cần kết nối nút giữa Chỉnh sửa trường và Phản hồi Webhook, đồng thời định cấu hình nút để lưu trữ $json.pageText và dấu thời gian.
={{ JSON.stringify($json) }}Kích hoạt quy trình làm việc sau khi nó được xây dựng. Đường dẫn webhook sẽ hoạt động tại:
POST http://127.0.0.1:3005/webhook/openclaw/scrape
Sao chép JSON bên dưới và nhập nó vào n8n qua Menu → Import from JSON. Sau khi nhập, hãy chọn thông tin xác thực CapSolver của bạn trong nút Giải quyết CAPTCHA.
{
"nodes": [
{
"parameters": {
"content": "## OpenClaw CAPTCHA Automation Pipeline\n\n### How it works\n\n1. Initiates the process with a webhook trigger.\n2. Attempts to solve CAPTCHA using a specialized service.\n3. Submits the CAPTCHA token for validation.\n4. Evaluates whether the token submission was successful.\n5. Sets the result and responds back via the webhook.\n\n### Setup steps\n\n- [ ] Configure the webhook trigger with the desired endpoint URL.\n- [ ] Set up CAPTCHA solving service credentials.\n- [ ] Ensure HTTP request configurations are valid for token submission.\n- [ ] Customize the success and failure response messages.\n\n### Customization\n\nYou can customize the success and failure conditions and responses in the 'Success?' node.",
"width": 480,
"height": 656
},
"type": "n8n-nodes-base.stickyNote",
"typeVersion": 1,
"position": [
-1312,
-352
],
"id": "de683912-ba9c-4879-9a8e-38190c4b236c",
"name": "Sticky Note"
},
{
"parameters": {
"content": "## Initialization and CAPTCHA solving\n\nStarts with a webhook trigger and solves the CAPTCHA using an external service.",
"width": 800,
"height": 272,
"color": 7
},
"type": "n8n-nodes-base.stickyNote",
"typeVersion": 1,
"position": [
-768,
-352
],
"id": "a1b2c3d4-e5f6-7890-1234-56789abcdef0",
"name": "Sticky Note"
},
{
"parameters": {
"httpMethod": "POST",
"path": "openclaw/scrape",
"responseMode": "responseNode",
"options": {}
},
"type": "n8n-nodes-base.webhook",
"typeVersion": 1,
"position": [
-704,
-256
],
"id": "b2c3d4e5-f6a7-8901-2345-6789abcdef01",
"name": "Webhook",
"webhookId": "c3d4e5f6-a7b8-9012-3456-789abcdef012"
},
{
"parameters": {
"taskType": "ReCaptchaV2TaskProxyless",
"websiteUrl": "https://example.com/protected-page",
"websiteKey": "YOUR_SITE_KEY"
},
"type": "n8n-nodes-capsolver.capSolver",
"typeVersion": 1,
"position": [
-480,
-256
],
"id": "d4e5f6a7-b8c9-0123-4567-89abcdef0123",
"name": "Solve CAPTCHA",
"credentials": {
"capSolverApi": {
"id": "e5f6a7b8-c9d0-1234-5678-9abcdef01234",
"name": "CapSolver account"
}
}
},
{
"parameters": {
"method": "POST",
"url": "https://example.com/protected-page",
"sendBody": true,
"bodyParameters": {
"parameters": [
{
"name": "g-recaptcha-response",
"value": "={{ $json.data.solution.gRecaptchaResponse }}"
}
]
},
"options": {}
},
"type": "n8n-nodes-base.httpRequest",
"typeVersion": 4.1,
"position": [
-256,
-256
],
"id": "f6a7b8c9-d0e1-2345-6789-abcdef012345",
"name": "Submit Token"
},
{
"parameters": {
"conditions": {
"string": [
{
"value1": "={{ $json.data }}",
"operation": "contains",
"value2": "recaptcha-success"
}
]
}
},
"type": "n8n-nodes-base.if",
"typeVersion": 1,
"position": [
-32,
-256
],
"id": "a7b8c9d0-e1f2-3456-789a-bcdef0123456",
"name": "Success?"
},
{
"parameters": {
"values": {
"string": [
{
"name": "pageText",
"value": "={{ $json.data }}"
}
]
},
"options": {}
},
"type": "n8n-nodes-base.set",
"typeVersion": 2,
"position": [
192,
-352
],
"id": "b8c9d0e1-f2a3-4567-89ab-cdef01234567",
"name": "Extract Result"
},
{
"parameters": {
"values": {
"string": [
{
"name": "pageText",
"value": "={{ $json.data }}"
}
]
},
"options": {}
},
"type": "n8n-nodes-base.set",
"typeVersion": 2,
"position": [
192,
-160
],
"id": "c9d0e1f2-a3b4-5678-9abc-def012345678",
"name": "Mark Failed"
},
{
"parameters": {
"respondWith": "json",
"responseBody": "={{ JSON.stringify($json) }}",
"options": {}
},
"type": "n8n-nodes-base.respondToWebhook",
"typeVersion": 1,
"position": [
416,
-352
],
"id": "d0e1f2a3-b4c5-6789-abcd-ef0123456789",
"name": "Respond to Webhook"
},
{
"parameters": {
"respondWith": "json",
"responseBody": "={{ JSON.stringify($json) }}",
"options": {}
},
"type": "n8n-nodes-base.respondToWebhook",
"typeVersion": 1,
"position": [
416,
-160
],
"id": "e1f2a3b4-c5d6-789a-bcde-f0123456789a",
"name": "Respond to Webhook"
}
],
"connections": {
"Webhook": {
"main": [
[
{
"node": "Solve CAPTCHA",
"type": "main",
"index": 0
}
]
]
},
"Solve CAPTCHA": {
"main": [
[
{
"node": "Submit Token",
"type": "main",
"index": 0
}
]
]
},
"Submit Token": {
"main": [
[
{
"node": "Success?",
"type": "main",
"index": 0
}
]
]
},
"Success?": {
"main": [
[
{
"node": "Extract Result",
"type": "main",
"index": 0
}
],
[
{
"node": "Mark Failed",
"type": "main",
"index": 0
}
]
]
},
"Extract Result": {
"main": [
[
{
"node": "Respond to Webhook",
"type": "main",
"index": 0
}
]
]
},
"Mark Failed": {
"main": [
[
{
"node": "Respond to Webhook",
"type": "main",
"index": 0
}
]
]
}
},
"pinData": {},
"meta": {
"instanceId": "962ff0267b713be0344b866fa54daae28de8ed2144e2e6867da355dae193ea1f"
}
}
Để kết nối OpenClaw với quy trình làm việc này, hãy tạo một tập lệnh kích hoạt và đăng ký nó.
Tạo tập lệnh kích hoạt:
cat > ~/.openclaw/scripts/extract-data << 'EOF'
#!/usr/bin/env bash
curl -s -X POST http://127.0.0.1:3005/webhook/openclaw/scrape
EOF
chmod +x ~/.openclaw/scripts/extract-data
Đây là điều duy nhất OpenClaw chạy. Không có đối số, không có khóa trang web, không có URL — quy trình làm việc biết những gì cần thu thập.
Cách OpenClaw lấy dữ liệu: Tập lệnh đợi n8n kết thúc (CapSolver giải quyết + gửi biểu mẫu), sau đó nhận trực tiếp
{ pageText, savedAt }trong phản hồi Webhook. Không liên quan đến việc đọc tệp — dữ liệu quay trở lại đồng bộ qua HTTP. Hình dạng phản hồi chỉ là những gì quy trình làm việc này trả về — nếu bạn cần các trường khác nhau (ví dụ: giá đã phân tích cú pháp, trạng thái đăng nhập, đối tượng JSON có cấu trúc), hãy sửa đổi các nút Chỉnh sửa trường và Lưu kết quả để trả về bất kỳ thứ gì trường hợp sử dụng của bạn yêu cầu.
Đăng ký lệnh trong TOOLS.md:
Mở ~/.openclaw/workspace/TOOLS.md và thêm mục nhập sau để OpenClaw biết về lệnh:
### extract-data
Chạy: `/root/.openclaw/scripts/extract-data`
Trả về `{ pageText, savedAt }` mới từ đường ống trực tiếp. Trả về trường `pageText` từ phản hồi JSON.
Kích hoạt từ OpenClaw — gửi lệnh này tới Tác nhân AI của bạn (qua Discord, Telegram, WhatsApp hoặc bất kỳ kênh nào):
extract data
OpenClaw chạy tập lệnh extract-data, kích hoạt webhook và chờ đợi. n8n giải quyết CAPTCHA, gửi biểu mẫu và trả về { pageText, savedAt } trực tiếp trong phản hồi HTTP. OpenClaw nhận và tóm tắt kết quả — thường trong vòng 10–40 giây.
Kiểm tra từ thiết bị đầu cuối:
curl -s -X POST http://127.0.0.1:3005/webhook/openclaw/scrape
Quy trình làm việc của hướng dẫn này được xây dựng cho một trang web demo cụ thể. Đối với mục tiêu thực tế của bạn, mọi phần của đường ống có thể yêu cầu điều chỉnh. Đây là những gì cần xem xét:
Không phải tất cả các trang web đều sử dụng reCAPTCHA v2. Thay đổi Loại tác vụ của nút CapSolver để khớp với những gì mục tiêu sử dụng:
| Những gì bạn thấy trên trang web | Hoạt động của nút n8n |
|---|---|
| Hộp kiểm "Tôi không phải là người máy" | reCAPTCHA v2 |
| reCAPTCHA vô hình (tự động kích hoạt) | reCAPTCHA v2 |
| Điểm reCAPTCHA v3 | reCAPTCHA v3 |
| Tiện ích Cloudflare Turnstile | Cloudflare Turnstile |
| Thử thách Cloudflare (trang 5s) | Cloudflare Challenge |
| Câu đố GeeTest (v3) | GeeTest V3 |
| Câu đố GeeTest (v4) | GeeTest V4 |
| Bảo vệ bot DataDome | DataDome |
| AWS WAF CAPTCHA | AWS WAF |
| MTCaptcha | MTCaptcha |
Đồng thời cập nhật URL trang web và Khóa trang web để khớp với mục tiêu của bạn. Bạn có thể tìm thấy khóa trang web trong nguồn trang (tìm thuộc tính data-sitekey hoặc tiện ích mở rộng trình duyệt CapSolver tự động phát hiện nó).
Đây là phần thay đổi nhiều nhất giữa các trang web. Trang web demo sử dụng một POST biểu mẫu đơn giản với mã thông báo trong trường nội dung. Mục tiêu của bạn có thể khác:
Dưới dạng trường biểu mẫu (phổ biến nhất)
POST /submit
Content-Type: application/x-www-form-urlencoded
g-recaptcha-response=TOKEN&other_field=value
Trong nội dung JSON
POST /api/login
Content-Type: application/json
{ "username": "...", "password": "...", "captchaToken": "TOKEN" }
Trong một tiêu đề
POST /api/action
X-Captcha-Token: TOKEN
Dưới dạng cookie
POST /submit
Cookie: cf_clearance=TOKEN
Trong URL dưới dạng tham số truy vấn
GET /search?q=query&token=TOKEN
Kiểm tra tab mạng trong công cụ dành cho nhà phát triển của trình duyệt khi bạn giải quyết CAPTCHA theo cách thủ công trên trang web mục tiêu của mình. Tìm kiếm yêu cầu kích hoạt ngay sau khi giải quyết — điều đó cho bạn thấy chính xác mã thông báo đi đến đâu.
Khi bạn biết cách mã thông báo được gửi, hãy định cấu hình nút Yêu cầu HTTP cho phù hợp:
Quy trình làm việc hiện chuyển toàn bộ HTML của phản hồi dưới dạng pageText. Tùy thuộc vào trường hợp sử dụng của bạn, bạn có thể muốn xử lý hậu kỳ nó:
Một số mục tiêu yêu cầu nhiều hơn một yêu cầu:
Chuỗi nhiều nút Yêu cầu HTTP trong n8n để xử lý việc này. Truyền các giá trị giữa các nút bằng biểu thức $json.
{"success": false, "error": "Failed to reach n8n scraper. Is the OpenClaw CAPTCHA Scraper workflow active?"}
Kiểm tra: n8n có đang chạy không? Quy trình làm việc có được kích hoạt không? Mở n8n và xác minh quy trình làm việc đang Hoạt động (chuyển đổi màu xanh lá cây).
Nguyên nhân có thể:
~/.n8n/credentialspageText trống hoặc chứa trang lỗig-recaptcha-response — một số trang web sử dụng tên trường khácfullResponse: true trong nút Yêu cầu HTTP để xem mã trạng thái| Nút | Loại | Cấu hình chính |
|---|---|---|
| Webhook | n8n-nodes-base.webhook |
POST, đường dẫn: openclaw/scrape, responseMode: responseNode |
| Thu thập trang web | n8n-nodes-capsolver.capSolver |
Tác vụ: ReCaptchaV2TaskProxyless |
| Yêu cầu HTTP | n8n-nodes-base.httpRequest |
POST tới URL mục tiêu với mã thông báo trong nội dung |
| Nếu | n8n-nodes-base.if |
Kiểm tra $json.data chứa "recaptcha-success" |
| Chỉnh sửa trường | n8n-nodes-base.set |
pageText = $json.data |
| Lưu kết quả | n8n-nodes-base.executeCommand hoặc bất kỳ nút lưu trữ nào |
Duy trì kết quả (tệp, DB, Trang tính, v.v.) |
| Phản hồi Webhook | n8n-nodes-base.respondToWebhook |
JSON, continueOnFail: true |
| CAPTCHA | Hoạt động của nút n8n |
|---|---|
| reCAPTCHA v2 (hộp kiểm) | reCAPTCHA v2 |
| reCAPTCHA v2 (vô hình) | reCAPTCHA v2 |
| reCAPTCHA v3 | reCAPTCHA v3 |
| Cloudflare Turnstile | Cloudflare Turnstile |
| Thử thách Cloudflare | Cloudflare Challenge |
| GeeTest V3 | GeeTest V3 |
| GeeTest V4 | GeeTest V4 |
| DataDome | DataDome |
| AWS WAF | AWS WAF |
| MTCaptcha | MTCaptcha |
Đường ống OpenClaw + n8n + CapSolver cung cấp thiết lập trích xuất dữ liệu cấp sản xuất:
Tác nhân AI chỉ cần đưa ra lệnh "extract data" và nhận nội dung trang sạch. CapSolver xử lý phần khó khăn, n8n điều phối luồng và OpenClaw đóng vai trò là giao diện.
Sẵn sàng để bắt đầu? Đăng ký CapSolver và sử dụng mã thưởng OPENCLAW để nhận thêm 6% tiền thưởng cho lần nạp tiền đầu tiên của bạn!
Không. OpenClaw chỉ cần chạy một tập lệnh kích hoạt yêu cầu HTTP. n8n xử lý mọi thứ khác. Tác nhân AI của bạn không có kiến thức về CAPTCHA — nó chỉ kích hoạt một công việc và đọc kết quả.
Có, nhưng bạn có thể sẽ cần điều chỉnh nhiều thứ hơn là chỉ URL. Mỗi trang web gửi mã thông báo CAPTCHA theo cách khác nhau — một số sử dụng các trường biểu mẫu, một số nội dung JSON, một số tiêu đề hoặc cookie. Xem phần "Điều chỉnh quy trình làm việc cho trang web mục tiêu của bạn" ở trên để biết bảng phân tích đầy đủ về những gì cần kiểm tra và thay đổi.
Thay đổi Loại tác vụ của nút CapSolver thành AntiTurnstileTaskProxyless. Sau đó, kiểm tra các yêu cầu mạng của mục tiêu của bạn để tìm nơi mã thông báo Turnstile được gửi — nó thường nằm trong một trường biểu mẫu ẩn có tên cf-turnstile-response, nhưng một số triển khai chuyển nó trong nội dung JSON, tiêu đề hoặc cookie thay thế.
Điều đó phụ thuộc vào lựa chọn lưu trữ của bạn. Với tệp JSON cục bộ, bạn có thể giữ bao nhiêu tùy thích. Với Google Sheets hoặc cơ sở dữ liệu, mỗi lần chạy sẽ nối thêm một hàng vô thời hạn. Định cấu hình nút Lưu kết quả để phù hợp với nhu cầu lưu giữ của bạn.
Có — điểm cuối webhook chỉ là một HTTP POST. Bất cứ thứ gì có thể thực hiện yêu cầu HTTP đều có thể kích hoạt nó:
curl -s -X POST http://127.0.0.1:3005/webhook/openclaw/scrape
Mỗi lần chạy tốn một tín dụng CapSolver cho việc giải quyết CAPTCHA. reCAPTCHA v2 là một trong những loại rẻ nhất. Kiểm tra giá hiện tại tại capsolver.com.
OpenClaw là mã nguồn mở và miễn phí để tự lưu trữ. Bạn sẽ cần tín dụng API cho nhà cung cấp mô hình AI của mình và CapSolver để giải quyết CAPTCHA.
Xây dựng API giải eCAPTCHA v2/v3 bằng CapSolver và n8n. Tìm hiểu cách tự động hóa việc giải token, gửi token đến website và trích xuất dữ liệu được bảo vệ mà không cần lập trình.

Hãy tìm hiểu cách tích hợp CapSolver với n8n để giải quyết bài toán GeeTest V3 và xây dựng các quy trình tự động hóa đáng tin cậy.

Chuyển đổi ảnh thành văn bản, giải mã captcha, captcha OCR, capsolver, n8n, quy trình làm việc n8n, tự động hóa, API OCR, tự động hóa captcha, ảnh base64, nhận dạng hình ảnh, OCR AI, webhook, quy trình làm việc theo lịch trình, tự động hóa biểu mẫu, bỏ qua captcha, xử lý phiên, captcha không cần proxy, OCR tức thời, nhận dạng văn bản

Tìm hiểu cách tích hợp CapSolver với n8n để giải GeeTest V4 và xây dựng quy trình tự động hóa đáng tin cậy.
