Cách sử dụng Axios để Web Scraping

Anh Tuan
Data Science Expert
23-Sep-2024
Axios là gì?

Axios là một thư viện JavaScript phổ biến được sử dụng để thực hiện các yêu cầu HTTP từ cả trình duyệt và Node.js. Nó đơn giản hóa việc thực hiện các yêu cầu HTTP không đồng bộ và cho phép bạn xử lý phản hồi một cách dễ dàng với lời hứa.
Tính năng:
- Dựa trên lời hứa: Sử dụng lời hứa JavaScript, giúp dễ dàng quản lý các hoạt động không đồng bộ.
- Hỗ trợ trình duyệt và Node.js: Hoạt động liền mạch trong cả hai môi trường.
- Phân tích JSON tự động: Tự động phân tích các phản hồi JSON.
- Bộ chặn: Hỗ trợ bộ chặn yêu cầu và phản hồi để quản lý yêu cầu và xử lý phản hồi trên toàn cầu.
- Xử lý lỗi: Cung cấp các cơ chế tích hợp để xử lý lỗi.
Điều kiện tiên quyết
Trước khi sử dụng Axios, hãy đảm bảo bạn đã có:
Cài đặt
Bạn có thể cài đặt Axios bằng npm hoặc yarn:
bash
npm install axios
hoặc
bash
yarn add axios
Ví dụ cơ bản: Thực hiện yêu cầu GET
Đây là cách thực hiện yêu cầu GET đơn giản bằng Axios:
javascript
const axios = require('axios');
axios.get('https://httpbin.org/get')
.then(response => {
console.log('Mã trạng thái:', response.status);
console.log('Nội dung phản hồi:', response.data);
})
.catch(error => {
console.error('Lỗi:', error);
});
Ví dụ trích xuất web: Lấy dữ liệu JSON từ API
Hãy lấy dữ liệu từ API và in kết quả:
javascript
const axios = require('axios');
axios.get('https://jsonplaceholder.typicode.com/posts')
.then(response => {
const posts = response.data;
posts.forEach(post => {
console.log(`${post.title} — ${post.body}`);
});
})
.catch(error => {
console.error('Lỗi:', error);
});
Xử lý CAPTCHA với CapSolver và Axios
Trong phần này, chúng ta sẽ tích hợp CapSolver với Axios để bỏ qua CAPTCHA. CapSolver cung cấp API để giải quyết CAPTCHA như ReCaptcha V3 và captcha.
Chúng ta sẽ trình bày cách giải quyết ReCaptcha V3 với CapSolver và sử dụng giải pháp trong một yêu cầu.
Ví dụ: Giải quyết ReCaptcha V3 với CapSolver và Axios
Đầu tiên, hãy cài đặt Axios và CapSolver:
bash
npm install axios
npm install capsolver
Bây giờ, đây là cách giải quyết ReCaptcha V3 và sử dụng giải pháp trong yêu cầu của bạn:
javascript
const axios = require('axios');
const CAPSOLVER_KEY = 'YourKey';
const PAGE_URL = 'https://antcpt.com/score_detector';
const PAGE_KEY = '6LcR_okUAAAAAPYrPe-HK_0RULO1aZM15ENyM-Mf';
const PAGE_ACTION = 'homepage';
async function createTask(url, key, pageAction) {
try {
const apiUrl = 'https://api.capsolver.com/createTask';
const payload = {
clientKey: CAPSOLVER_KEY,
task: {
type: 'ReCaptchaV3TaskProxyLess',
websiteURL: url,
websiteKey: key,
pageAction: pageAction
}
};
const headers = {
'Content-Type': 'application/json',
};
const response = await axios.post(apiUrl, payload, { headers });
return response.data.taskId;
} catch (error) {
console.error('Lỗi tạo nhiệm vụ CAPTCHA:', error);
throw error;
}
}
async function getTaskResult(taskId) {
try {
const apiUrl = 'https://api.capsolver.com/getTaskResult';
const payload = {
clientKey: CAPSOLVER_KEY,
taskId: taskId,
};
const headers = {
'Content-Type': 'application/json',
};
let result;
do {
const response = await axios.post(apiUrl, payload, { headers });
result = response.data;
if (result.status === 'ready') {
return result.solution;
}
await new Promise(resolve => setTimeout(resolve, 5000)); // đợi 5 giây trước khi thử lại
} while (true);
} catch (error) {
console.error('Lỗi lấy kết quả CAPTCHA:', error);
throw error;
}
}
function setSessionHeaders() {
return {
'cache-control': 'max-age=0',
'sec-ch-ua': '"Not/A)Brand";v="99", "Google Chrome";v="107", "Chromium";v="107"',
'sec-ch-ua-mobile': '?0',
'sec-ch-ua-platform': 'Windows',
'upgrade-insecure-requests': '1',
'user-agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/108.0.0.0 Safari/537.36',
'accept': 'text/html,application/xhtml+xml,application/xml;q=0.9,image/avif,image/webp,image/apng,*/*;q=0.8,application/signed-exchange;v=b3;q=0.7',
'sec-fetch-site': 'same-origin',
'sec-fetch-mode': 'navigate',
'sec-fetch-user': '?1',
'sec-fetch-dest': 'document',
'accept-encoding': 'gzip, deflate',
'accept-language': 'en,fr-FR;q=0.9,fr;q=0.8,en-US;q=0.7',
};
}
async function main() {
const headers = setSessionHeaders();
console.log('Đang tạo nhiệm vụ CAPTCHA...');
const taskId = await createTask(PAGE_URL, PAGE_KEY, PAGE_ACTION);
console.log(`ID nhiệm vụ: ${taskId}`);
console.log('Đang lấy kết quả CAPTCHA...');
const solution = await getTaskResult(taskId);
const token = solution.gRecaptchaResponse;
console.log(`Giải pháp mã thông báo: ${token}`);
const res = await axios.post('https://antcpt.com/score_detector/verify.php', { 'g-recaptcha-response': token }, { headers });
const response = res.data;
console.log(`Điểm số: ${response.score}`);
}
main().catch(err => {
console.error(err);
});
Xử lý proxy với Axios
Để định tuyến yêu cầu của bạn thông qua proxy với Axios:
javascript
const axios = require('axios');
axios.get('https://httpbin.org/ip', {
proxy: {
host: 'proxyserver',
port: 8080,
auth: {
username: 'username',
password: 'password'
}
}
})
.then(response => {
console.log('Nội dung phản hồi:', response.data);
})
.catch(error => {
console.error('Lỗi:', error);
});
Xử lý cookie với Axios
Bạn có thể xử lý cookie trong Axios bằng cách sử dụng tùy chọn withCredentials:
javascript
const axios = require('axios');
axios.get('https://httpbin.org/cookies/set?name=value', { withCredentials: true })
.then(response => {
console.log('Cookie:', response.headers['set-cookie']);
})
.catch(error => {
console.error('Lỗi:', error);
});
Sử dụng nâng cao: Tiêu đề tùy chỉnh và yêu cầu POST
Bạn có thể gửi tiêu đề tùy chỉnh và thực hiện yêu cầu POST với Axios:
javascript
const axios = require('axios');
const headers = {
'User-Agent': 'Mozilla/5.0 (compatible)',
'Accept-Language': 'en-US,en;q=0.5',
};
const data = {
username: 'testuser',
password: 'testpass',
};
axios.post('https://httpbin.org/post', data, { headers })
.then(response => {
console.log('Phản hồi JSON:', response.data);
})
.catch(error => {
console.error('Lỗi:', error);
});
Kết luận
Với Axios, bạn có thể dễ dàng quản lý các yêu cầu HTTP trong cả môi trường Node.js và trình duyệt. Bằng cách tích hợp nó với CapSolver, bạn có thể bỏ qua CAPTCHA như ReCaptcha V3 và captcha, cho phép truy cập nội dung bị giới hạn.
Tuyên bố Tuân thủ: Thông tin được cung cấp trên blog này chỉ mang tính chất tham khảo. CapSolver cam kết tuân thủ tất cả các luật và quy định hiện hành. Việc sử dụng mạng lưới CapSolver cho các hoạt động bất hợp pháp, gian lận hoặc lạm dụng là hoàn toàn bị cấm và sẽ bị điều tra. Các giải pháp giải captcha của chúng tôi nâng cao trải nghiệm người dùng trong khi đảm bảo tuân thủ 100% trong việc giúp giải quyết các khó khăn về captcha trong quá trình thu thập dữ liệu công khai. Chúng tôi khuyến khích việc sử dụng dịch vụ của chúng tôi một cách có trách nhiệm. Để biết thêm thông tin, vui lòng truy cập Điều khoản Dịch vụ và Chính sách Quyền riêng tư.
Thêm

Cách giải CAPTCHA bằng TinyFish AgentQL – Hướng dẫn từng bước sử dụng CapSolver
Học cách tích hợp CapSolver với TinyFish AgentQL để giải CAPTCHA tự động như reCAPTCHA và Cloudflare Turnstile. Hướng dẫn từng bước với các ví dụ SDK Python và JavaScript để tự động hóa web dựa trên AI liền mạch.

Nikolai Smirnov
23-Mar-2026

Làm thế nào để tự động giải CAPTCHA bằng NanoClaw và CapSolver
Hướng dẫn từng bước sử dụng CapSolver với NanoClaw để giải các CAPTCHA như reCAPTCHA, Turnstile, AWS WAF và các loại khác. Hoạt động với các đại diện AI Claude, không cần code và nhiều trình duyệt.

Rajinder Singh
20-Mar-2026

Cách giải quyết GeeTest V3 trong n8n với CapSolver: Hướng dẫn tích hợp đầy đủ
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.

Emma Foster
18-Mar-2026

Cách giải bài toán ImageToText bằng CapSolver và n8n
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

Sora Fujimoto
18-Mar-2026

Cách giải CAPTCHA với Trình duyệt Agent Vercel – Hướng dẫn từng bước sử dụng CapSolver
Học cách tích hợp CapSolver với Agent Browser để xử lý CAPTCHA và xây dựng quy trình tự động hóa AI đáng tin cậy.

Anh Tuan
18-Mar-2026

Cách sử dụng CapSolver trong n8n: Hướng dẫn toàn diện để giải CAPTCHA trong các quy trình làm việc của bạn
Học cách tích hợp CapSolver với n8n để giải CAPTCHAs và xây dựng các quy trình tự động đáng tin cậy một cách dễ dàng.

Anh Tuan
18-Mar-2026

