Cara Menggunakan Axios untuk Web Scraping

Emma Foster
Machine Learning Engineer
23-Sep-2024
Apa itu Axios?

Axios adalah pustaka JavaScript populer yang digunakan untuk melakukan permintaan HTTP dari browser dan Node.js. Ini menyederhanakan pembuatan permintaan HTTP asinkron dan memungkinkan Anda untuk menangani respons dengan mudah menggunakan janji.
Fitur:
- Berdasarkan Janji: Menggunakan janji JavaScript, membuatnya lebih mudah untuk mengelola operasi asinkron.
- Dukungan Browser dan Node.js: Berfungsi dengan lancar di kedua lingkungan.
- Parsing JSON Otomatis: Secara otomatis memparsing respons JSON.
- Interceptor: Mendukung interceptor permintaan dan respons untuk mengelola permintaan dan menangani respons secara global.
- Penanganan Kesalahan: Menyediakan mekanisme bawaan untuk menangani kesalahan.
Prasyarat
Sebelum menggunakan Axios, pastikan Anda memiliki:
Instalasi
Anda dapat menginstal Axios menggunakan npm atau yarn:
bash
npm install axios
atau
bash
yarn add axios
Contoh Dasar: Membuat Permintaan GET
Berikut cara melakukan permintaan GET sederhana menggunakan Axios:
javascript
const axios = require('axios');
axios.get('https://httpbin.org/get')
.then(response => {
console.log('Kode Status:', response.status);
console.log('Tubuh Respons:', response.data);
})
.catch(error => {
console.error('Kesalahan:', error);
});
Contoh Web Scraping: Mengambil Data JSON dari API
Mari kita ambil data dari API dan cetak hasilnya:
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('Kesalahan:', error);
});
Menangani Captcha dengan CapSolver dan Axios
Di bagian ini, kita akan mengintegrasikan CapSolver dengan Axios untuk melewati captcha. CapSolver menyediakan API untuk menyelesaikan captcha seperti ReCaptcha V3 dan captcha.
Kita akan mendemonstrasikan pemecahan ReCaptcha V3 dengan CapSolver dan menggunakan solusinya dalam permintaan.
Contoh: Memecahkan ReCaptcha V3 dengan CapSolver dan Axios
Pertama, instal Axios dan CapSolver:
bash
npm install axios
npm install capsolver
Sekarang, berikut cara memecahkan ReCaptcha V3 dan menggunakan solusinya dalam permintaan Anda:
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('Kesalahan membuat tugas 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)); // tunggu 5 detik sebelum mencoba lagi
} while (true);
} catch (error) {
console.error('Kesalahan mendapatkan hasil 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('Membuat tugas CAPTCHA...');
const taskId = await createTask(PAGE_URL, PAGE_KEY, PAGE_ACTION);
console.log(`ID Tugas: ${taskId}`);
console.log('Mengambil hasil CAPTCHA...');
const solution = await getTaskResult(taskId);
const token = solution.gRecaptchaResponse;
console.log(`Solusi Token: ${token}`);
const res = await axios.post('https://antcpt.com/score_detector/verify.php', { 'g-recaptcha-response': token }, { headers });
const response = res.data;
console.log(`Skor: ${response.score}`);
}
main().catch(err => {
console.error(err);
});
Menangani Proxy dengan Axios
Untuk mengarahkan permintaan Anda melalui proxy dengan 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('Tubuh Respons:', response.data);
})
.catch(error => {
console.error('Kesalahan:', error);
});
Menangani Cookie dengan Axios
Anda dapat menangani cookie di Axios menggunakan opsi 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('Kesalahan:', error);
});
Penggunaan Lanjutan: Header Kustom dan Permintaan POST
Anda dapat mengirimkan header kustom dan melakukan permintaan POST dengan 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('Respons JSON:', response.data);
})
.catch(error => {
console.error('Kesalahan:', error);
});
Kesimpulan
Dengan Axios, Anda dapat dengan mudah mengelola permintaan HTTP di lingkungan Node.js dan browser. Dengan mengintegrasikannya dengan CapSolver, Anda dapat melewati captcha seperti ReCaptcha V3 dan captcha, memungkinkan akses ke konten terbatas.
Pernyataan Kepatuhan: Informasi yang diberikan di blog ini hanya untuk tujuan informasi. CapSolver berkomitmen untuk mematuhi semua hukum dan peraturan yang berlaku. Penggunaan jaringan CapSolver untuk kegiatan ilegal, penipuan, atau penyalahgunaan sangat dilarang dan akan diselidiki. Solusi penyelesaian captcha kami meningkatkan pengalaman pengguna sambil memastikan kepatuhan 100% dalam membantu menyelesaikan kesulitan captcha selama pengambilan data publik. Kami mendorong penggunaan layanan kami secara bertanggung jawab. Untuk informasi lebih lanjut, silakan kunjungi Syarat Layanan dan Kebijakan Privasi.
Lebih lanjut

Apa yang terbaik ekstensi untuk menyelesaikan CAPTCHA 2026?
Dalam dunia keamanan online yang terus berkembang, tantangan CAPTCHA telah menjadi hambatan umum bagi pengguna internet...

Emma Foster
12-Dec-2025

Lumiproxy: Proxy Premium untuk Pengambilan Data Web & Pengumpulan Data
Dalam artikel ini, kami akan menunjukkan kepada Anda apa itu Lumiproxy dan layanan yang mereka tawarkan.

Emma Foster
12-Dec-2025

Genlogin: Mengubah Secara Revolusioner Pengalaman Otomatisasi Web Anda
Dalam artikel ini, kami akan menunjukkan kepada Anda apa itu Genlogin dan layanan yang mereka tawarkan.

Nikolai Smirnov
12-Dec-2025

Proxys.io: Proxy individu untuk tugas apa pun
Dalam artikel ini, kami akan menunjukkan kepada Anda apa itu Proxys.io dan layanan yang mereka tawarkan.

Nikolai Smirnov
12-Dec-2025

Tabproxy: Nilai yang baik proxy perumahan luar negeri
Dalam artikel ini, kami akan menunjukkan kepada Anda apa itu Tabproxy dan layanan yang mereka tawarkan.

Emma Foster
12-Dec-2025

IP2World Proxy Rumah: Solusi Proxy IP Global Terkemuka
Dalam artikel ini, kami akan menunjukkan kepada Anda apa itu IP2World dan layanan yang mereka tawarkan.

Ethan Collins
12-Dec-2025

