Cara Mengatasi Cloudflare dengan Playwright di Tahun 2024
Cara Mengatasi Cloudflare dengan Playwright di 2024
Adélia Cruz
Neural Network Developer
10-Sep-2024
Kamu tahu, ada sensasi tertentu dalam mengakali rintangan—terutama ketika rintangan itu adalah penjaga gerbang digital seperti Cloudflare. Jika kamu pernah menemukan dirimu menatap tantangan Cloudflare saat mencoba mengotomatiskan tugas web, kamu berada di perusahaan yang baik. Aku juga pernah berada di sana, berkali-kali. Tetapi di tahun 2024, permainannya telah berubah, dan begitu pula alat-alatnya. Izinkan aku memandu kamu melalui cara aku telah mengatasi Cloudflare dengan Playwright, dan ya, kita juga akan membicarakan pendatang baru yang licik di blok tersebut, Cloudflare Turnstile.
Apa itu Cloudflare dan Mengapa Itu Penting
Sebelum kita menyelami inti dari memecahkan tantangan Cloudflare, mari kita luangkan waktu untuk memahami apa yang kita hadapi. Cloudflare adalah layanan keamanan yang tangguh yang digunakan oleh jutaan situs web untuk melindungi dari lalu lintas berbahaya, serangan DDoS, dan berbagai ancaman lainnya. Ketika mendeteksi perilaku yang tidak biasa—seperti skrip otomatis yang mencoba mengakses halaman—ia memunculkan tantangan, seringkali dalam bentuk CAPTCHA, untuk memverifikasi bahwa kamu adalah manusia dan bukan bot.
Tetapi inilah intinya: Cloudflare tidak hanya tentang menampilkan CAPTCHA sederhana lagi. Pada tahun 2024, mereka telah meluncurkan sesuatu yang disebut Cloudflare Turnstile, sebuah sistem tantangan yang lebih canggih dan adaptif yang dirancang untuk menjadi lebih tangguh terhadap otomatisasi. Ini adalah kacang yang sulit dipecahkan, tetapi dengan pendekatan yang tepat, kamu masih bisa keluar sebagai pemenang.
Berjuang dengan kegagalan berulang untuk sepenuhnya menyelesaikan captcha yang menjengkelkan?
Temukan penyelesaian captcha otomatis yang lancar dengan teknologi Auto Web Unblock berbasis AI Capsolver!
Klaim Kode Bonus Anda untuk solusi captcha teratas; CapSolver: WEBS. Setelah menebusnya, kamu akan mendapatkan bonus tambahan 5% setelah setiap pengisian ulang, Tidak Terbatas
Mengapa Playwright Adalah Alat Pilihan di Tahun 2024
Kamu mungkin bertanya-tanya, “Mengapa Playwright? Mengapa tidak tetap menggunakan Selenium atau Puppeteer yang sudah lama?” Dan itu adalah pertanyaan yang bagus. Jawabannya adalah bahwa Playwright telah muncul sebagai kekuatan untuk otomatisasi web, menawarkan fitur yang membuatnya sangat efektif melawan tantangan modern seperti yang diajukan oleh Cloudflare.
Playwright mendukung beberapa konteks browser, yang berarti kamu dapat mensimulasikan pengguna yang berbeda secara lebih efektif. Ia juga memberikan kontrol yang lebih besar atas perilaku browser, membuatnya lebih mudah untuk meniru interaksi pengguna nyata—sesuatu yang sangat penting ketika berhadapan dengan langkah-langkah keamanan tingkat lanjut Cloudflare.
Memulai: Menyiapkan Playwright
Pertama-tama, jika belum, kamu perlu menginstal Playwright. Menyiapkannya mudah:
bashCopy
npm install playwright
Setelah diinstal, kamu siap untuk mulai mengotomatiskan tugas web kamu. Tetapi jika tujuan kamu adalah untuk melewati tantangan Cloudflare, terutama CAPTCHA Turnstile yang baru, kita perlu mengambil beberapa langkah tambahan. Kita akan memanfaatkan CapSolver, API pihak ketiga yang dirancang untuk menyelesaikan CAPTCHA seperti Turnstile, dan mengintegrasikannya dengan Playwright untuk mengakses situs yang dilindungi oleh Cloudflare.
Langkah 1: Mengambil SiteKey
Rintangan pertama yang kamu hadapi dengan CAPTCHA Turnstile adalah mendapatkan siteKey dari halaman web. Kunci ini sangat penting bagi CapSolver untuk memproses CAPTCHA dan memberi kamu token yang valid.
Kamu dapat mengekstrak siteKey dengan memeriksa sumber halaman web atau, untuk mempermudah, kamu dapat menggunakan Ekstensi CapSolver. Ini secara otomatis mendeteksi parameter CAPTCHA pada halaman. Untuk panduan lengkap tentang cara mengatur ini, periksa posting blog kami: Identifikasi Parameter Cloudflare Turnstile.
Setelah kamu memiliki siteKey, kamu siap untuk beralih ke langkah berikutnya.
Langkah 2: Memanggil API CapSolver untuk Menyelesaikan CAPTCHA
Dengan siteKey di tangan, saatnya menggunakan API CapSolver untuk menyelesaikan CAPTCHA Turnstile dan mengambil token yang valid. Token ini akan memungkinkan kita untuk melewati tantangan dan melanjutkan tugas scraping web atau otomatisasi kita.
Berikut adalah cuplikan kode sampel menggunakan axios dan Playwright untuk berinteraksi dengan CapSolver:
javascriptCopy
const axios = require('axios');
const playwright = require("playwright");
const api_key = "YOUR_API_KEY"; // Kunci API CapSolver Anda
const site_key = "0xxxxxx"; // The siteKey yang Anda dapatkan
const site_url = "https://xxx.xxx.xxx/xxx"; // URL situs target
const proxy = "http://xxx:[email protected]:x"; // Opsional: Gunakan proxy Anda jika diperlukan
async function solveCaptcha() {
const payload = {
clientKey: api_key,
task: {
type: 'AntiTurnstileTaskProxyLess',
websiteKey: site_key,
websiteURL: site_url,
metadata: {
action: '', // Opsional, tentukan jika diperlukan
type: "turnstile"
}
}
};
try {
const res = await axios.post("https://api.capsolver.com/createTask", payload);
const task_id = res.data.taskId;
if (!task_id) {
console.log("Gagal membuat tugas:", res.data);
return;
}
console.log("Tugas dibuat, menunggu token...");
while (true) {
await new Promise(resolve => setTimeout(resolve, 1000)); // Tunggu 1 detik sebelum memeriksa lagi
const getResultPayload = {clientKey: api_key, taskId: task_id};
const resp = await axios.post("https://api.capsolver.com/getTaskResult", getResultPayload);
if (resp.data.status === "ready") {
console.log("CAPTCHA terpecahkan, token diterima:", resp.data.solution.token);
return resp.data.solution.token;
}
if (resp.data.status === "failed" || resp.data.errorId) {
console.log("Penyelesaian CAPTCHA gagal! Respon:", resp.data);
return;
}
}
} catch (error) {
console.error("Kesalahan menyelesaikan CAPTCHA:", error);
}
}
Dalam kode ini, kita membuat tugas dengan mengirimkan permintaan POST ke API CapSolver, meneruskan siteKey dan URL situs web yang ingin kita akses. Setelah tugas dibuat, kita terus memeriksa status hingga CapSolver mengembalikan token solusi. Token ini adalah apa yang akan kita gunakan untuk membuktikan kepada Cloudflare bahwa kita adalah manusia.
Langkah 3: Menyisipkan Token CAPTCHA dengan Playwright
Sekarang setelah kita memiliki token CAPTCHA, kita perlu menyisipkannya ke dalam sesi sebagai cookie menggunakan Playwright. Ini akan memungkinkan kita untuk menavigasi situs tanpa diblokir oleh perlindungan Cloudflare. Berikut cara melakukannya:
javascriptCopy
const wait = (ms) => new Promise(resolve => setTimeout(resolve, ms));
async function accessSiteWithToken(){
let clearanceCookie;
// Selesaikan CAPTCHA dan dapatkan token
await solveCaptcha().then(token => {
clearanceCookie = token;
});
const browser = await playwright.chromium.launch();
const context = await browser.newContext();
const page = await context.newPage();
await wait(500);
// Inject the token as a cookie
await page.setCookie({
name: "cf_clearance",
value: clearanceCookie,
url: site_url, // Pastikan ini cocok dengan URL target
domain: "xx.xx.xx" // Sesuaikan domain sesuai dengan situs yang sebenarnya
});
await wait(500);
// Navigate to the website after setting the cookie
await page.goto(site_url);
// You can now scrape the content or interact with the page freely
console.log("Berhasil mengakses situs web!");
await browser.close();
}
// Run the script to access the site
accessSiteWithToken().then();
Pikiran Akhir
Cloudflare tidak diragukan lagi telah membuat lebih sulit untuk mengikis situs web atau mengotomatiskan tugas pada tahun 2024, tetapi dengan alat seperti Playwright dan CapSolver, tantangannya jauh dari tidak mungkin. Kemampuan Playwright untuk mensimulasikan interaksi pengguna nyata dikombinasikan dengan API penyelesaian CAPTCHA CapSolver memberikan cara yang ampuh untuk melewati penghalang ini tanpa mengeluarkan keringat.
Tentu saja, selalu bijaksana untuk memastikan kamu tetap berada dalam batas praktik scraping yang legal dan etis. Beberapa situs web memiliki kebijakan ketat mengenai akses otomatis, jadi pastikan kamu mengetahui kebijakan tersebut sebelum melanjutkan.
Dalam dunia otomatisasi web yang terus berkembang, ini semua tentang menjaga diri tetap di depan kurva—dan dengan Playwright dan CapSolver, kamu siap untuk melakukan hal itu.
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.