Cara Mengatasi AWS WAF di Crawl4AI dengan Integrasi CapSolver

Emma Foster
Machine Learning Engineer
21-Oct-2025

Pengantar
Amazon Web Services (AWS) Web Application Firewall (WAF) adalah layanan keamanan yang kuat yang membantu melindungi aplikasi web dari eksploit web umum yang dapat memengaruhi ketersediaan, mengancam keamanan, atau menghabiskan sumber daya yang berlebihan. Meskipun penting untuk melindungi aset web, AWS WAF dapat memberikan tantangan signifikan bagi proses pengambilan data otomatis dan pengambilan data, seringkali memblokir crawler yang sah.
Artikel ini memberikan panduan komprehensif tentang cara mengintegrasikan Crawl4AI, crawler web lanjutan, dengan CapSolver, layanan solusi CAPTCHA dan anti-bot terkemuka, untuk secara efektif menyelesaikan perlindungan AWS WAF. Kami akan menjelaskan metode integrasi API dan ekstensi, termasuk contoh kode dan penjelasan, untuk memastikan tugas otomasi web Anda dapat berjalan tanpa gangguan.
Memahami AWS WAF dan Tantangannya untuk Pengambilan Data Web
AWS WAF beroperasi dengan memantau permintaan HTTP(S) yang diteruskan ke distribusi Amazon CloudFront, Application Load Balancer, Amazon API Gateway, atau API GraphQL AWS AppSync. Ini memungkinkan Anda mengatur aturan yang memblokir pola serangan umum, seperti injeksi SQL atau scripting lintas situs, dan juga dapat menyaring lalu lintas berdasarkan alamat IP, header HTTP, tubuh HTTP, atau string URI. Untuk crawler web, ini sering berarti:
- Pemfilteran Permintaan: Aturan WAF dapat mengidentifikasi dan memblokir permintaan yang tampak otomatis atau mencurigakan.
- Verifikasi Berbasis Cookie: AWS WAF sering menggunakan cookie tertentu untuk melacak dan memverifikasi sesi pengguna yang sah. Tanpa cookie ini, permintaan sering ditolak.
- Tantangan Dinamis: Meskipun bukan CAPTCHA tradisional, mekanisme dasar dapat bertindak sebagai penghalang, memerlukan token atau identifikasi sesi tertentu untuk melanjutkan.
CapSolver menyediakan solusi yang kuat untuk mendapatkan cookie aws-waf-token yang diperlukan, yang merupakan kunci untuk melewati AWS WAF. Ketika diintegrasikan dengan Crawl4AI, ini memungkinkan crawler Anda untuk meniru perilaku pengguna yang sah dan berhasil menavigasi situs yang dilindungi.
💡 Bonus Eksklusif untuk Pengguna Integrasi Crawl4AI:
Untuk merayakan integrasi ini, kami menawarkan kode bonus 6% —CRAWL4untuk semua pengguna CapSolver yang mendaftar melalui tutorial ini.
Cukup masukkan kode saat recharge di Dashboard untuk menerima kredit tambahan 6% secara instan.
Metode Integrasi 1: Integrasi API CapSolver dengan Crawl4AI
Cara yang paling efektif untuk menangani tantangan AWS WAF dengan Crawl4AI dan CapSolver adalah melalui integrasi API. Metode ini melibatkan penggunaan CapSolver untuk mendapatkan aws-waf-token yang diperlukan, lalu menyisipkan token ini sebagai cookie ke dalam konteks browser Crawl4AI sebelum memuat ulang halaman target.
Cara Kerjanya:
- Navigasi Awal: Crawl4AI mencoba mengakses halaman web target yang dilindungi oleh AWS WAF.
- Identifikasi Tantangan WAF: Ketika menghadapi WAF, skrip Anda akan mengenali kebutuhan untuk
aws-waf-token. - Dapatkan Cookie AWS WAF: Panggil API CapSolver menggunakan SDK mereka, dengan menentukan tipe
AntiAwsWafTaskProxyLessdanwebsiteURL. CapSolver akan mengembalikan cookieaws-waf-tokenyang diperlukan. - Sisipkan Cookie dan Muat Ulang: Gunakan fungsi
js_codeCrawl4AI untuk menyetelaws-waf-tokenyang diperoleh sebagai cookie dalam konteks browser. Setelah menyetel cookie, halaman dimuat ulang. - Lanjutkan Operasi: Dengan cookie
aws-waf-tokenyang benar, Crawl4AI sekarang dapat mengakses halaman yang dilindungi dengan sukses dan melanjutkan tugas ekstraksi data.
Contoh Kode: Integrasi API untuk AWS WAF
Kode Python berikut menunjukkan cara mengintegrasikan API CapSolver dengan Crawl4AI untuk menyelesaikan tantangan AWS WAF. Contoh ini menargetkan halaman onboarding NFT Porsche yang dilindungi oleh AWS WAF.
python
import asyncio
import capsolver
from crawl4ai import *
# TODO: set your config
api_key = "CAP-xxxxxxxxxxxxxxxxxxxxx" # your api key of capsolver
site_url = "https://nft.porsche.com/onboarding@6" # page url of your target site
cookie_domain = ".nft.porsche.com" # the domain name to which you want to apply the cookie
captcha_type = "AntiAwsWafTaskProxyLess" # type of your target captcha
capsolver.api_key = api_key
async def main():
browser_config = BrowserConfig(
verbose=True,
headless=False,
use_persistent_context=True,
)
async with AsyncWebCrawler(config=browser_config) as crawler:
await crawler.arun(
url=site_url,
cache_mode=CacheMode.BYPASS,
session_id="session_captcha_test"
)
# get aws waf cookie using capsolver sdk
solution = capsolver.solve({
"type": captcha_type,
"websiteURL": site_url,
})
cookie = solution["cookie"]
print("aws waf cookie:", cookie)
js_code = """
document.cookie = \'aws-waf-token=""" + cookie + """;domain=""" + cookie_domain + """;path=/\
\';
location.reload();
"""
wait_condition = """() => {
return document.title === \'Join Porsche’s journey into Web3\';
}"""
run_config = CrawlerRunConfig(
cache_mode=CacheMode.BYPASS,
session_id="session_captcha_test",
js_code=js_code,
js_only=True,
wait_for=f"js:{wait_condition}"
)
result_next = await crawler.arun(
url=site_url,
config=run_config,
)
print(result_next.markdown)
if __name__ == "__main__":
asyncio.run(main())
Analisis Kode:
- Panggilan SDK CapSolver: Metode
capsolver.solvedipanggil dengan tipeAntiAwsWafTaskProxyLessdanwebsiteURLuntuk mendapatkan cookieaws-waf-token. Ini adalah langkah penting di mana AI CapSolver menyelesaikan tantangan WAF dan memberikan cookie yang diperlukan. - Injeksi JavaScript (
js_code): Stringjs_codeberisi JavaScript yang menyetel cookieaws-waf-tokendalam konteks browser menggunakandocument.cookie. Lalu,location.reload()dipicu untuk memuat ulang halaman, memastikan permintaan berikutnya mencakup cookie yang valid baru saja disetel. - Kondisi
wait_for:wait_conditiondidefinisikan untuk memastikan Crawl4AI menunggu hingga judul halaman sesuai dengan 'Join Porsche’s journey into Web3', menunjukkan bahwa WAF berhasil dilewati dan konten yang diinginkan dimuat.
Metode Integrasi 2: Integrasi Ekstensi CapSolver
Ekstensi CapSolver menawarkan pendekatan yang disederhanakan untuk menangani tantangan AWS WAF, terutama ketika memanfaatkan kemampuan penyelesaian otomatisnya dalam konteks browser yang tetap dikelola oleh Crawl4AI.
Cara Kerjanya:
- Konteks Browser yang Tetap: Konfigurasikan Crawl4AI untuk menggunakan
user_data_diragar menjalankan instance browser yang mempertahankan ekstensi CapSolver yang terinstal dan konfigurasinya. - Instal dan Konfigurasi Ekstensi: Instal ekstensi CapSolver secara manual ke profil browser ini dan konfigurasikan kunci API CapSolver Anda. Ekstensi dapat diatur untuk menyelesaikan tantangan AWS WAF secara otomatis.
- Navigasi ke Halaman Target: Crawl4AI mengunjungi halaman web yang dilindungi oleh AWS WAF.
- Penyelesaian Otomatis: Ekstensi CapSolver, yang berjalan dalam konteks browser, mendeteksi tantangan AWS WAF dan secara otomatis mendapatkan cookie
aws-waf-token. Cookie ini kemudian secara otomatis diterapkan ke permintaan berikutnya. - Lanjutkan dengan Tindakan: Setelah tantangan AWS WAF diselesaikan oleh ekstensi, Crawl4AI dapat melanjutkan tugas pengambilan data, karena konteks browser sekarang memiliki cookie yang valid untuk permintaan berikutnya.
Contoh Kode: Integrasi Ekstensi untuk AWS WAF (Penyelesaian Otomatis)
Contoh ini menunjukkan bagaimana Crawl4AI dapat dikonfigurasi untuk menggunakan profil browser dengan ekstensi CapSolver untuk penyelesaian AWS WAF otomatis.
python
import asyncio
import time
from crawl4ai import *
# TODO: set your config
user_data_dir = "/browser-profile/Default1" # Ensure this path is correctly set and contains your configured extension
browser_config = BrowserConfig(
verbose=True,
headless=False,
user_data_dir=user_data_dir,
use_persistent_context=True,
proxy="http://127.0.0.1:13120", # Optional: configure proxy if needed
)
async def main():
async with AsyncWebCrawler(config=browser_config) as crawler:
result_initial = await crawler.arun(
url="https://nft.porsche.com/onboarding@6",
cache_mode=CacheMode.BYPASS,
session_id="session_captcha_test"
)
# The extension will automatically solve the AWS WAF upon page load.
# You might need to add a wait condition or time.sleep for the WAF to be solved
# before proceeding with further actions.
time.sleep(30) # Example wait, adjust as necessary for the extension to operate
# Continue with other Crawl4AI operations after AWS WAF is solved
# For instance, check for elements or content that appear after successful verification
# print(result_initial.markdown) # You can inspect the page content after the wait
if __name__ == "__main__":
asyncio.run(main())
Analisis Kode:
user_data_dir: Parameter ini penting untuk Crawl4AI agar menjalankan instance browser yang mempertahankan ekstensi CapSolver yang terinstal dan konfigurasinya. Pastikan jalur menunjuk ke direktori profil browser yang valid di mana ekstensi terinstal.- Penyelesaian Otomatis: Ekstensi CapSolver dirancang untuk secara otomatis mendeteksi dan menyelesaikan tantangan AWS WAF.
time.sleepditambahkan sebagai contoh umum untuk memberi waktu ekstensi menyelesaikan operasi latar belakangnya. Untuk solusi yang lebih kuat, pertimbangkan menggunakan fungsiwait_forCrawl4AI untuk memeriksa perubahan halaman tertentu yang menunjukkan penyelesaian AWS WAF yang berhasil.
Contoh Kode: Integrasi Ekstensi untuk AWS WAF (Penyelesaian Manual)
Jika Anda lebih suka memicu penyelesaian tantangan AWS WAF secara manual pada titik tertentu dalam logika pengambilan data Anda, Anda dapat mengatur parameter manualSolving ekstensi menjadi true dan kemudian menggunakan js_code untuk mengklik tombol solver yang disediakan oleh ekstensi.
python
import asyncio
import time
from crawl4ai import *
# TODO: set your config
user_data_dir = "/browser-profile/Default1" # Ensure this path is correctly set and contains your configured extension
browser_config = BrowserConfig(
verbose=True,
headless=False,
user_data_dir=user_data_dir,
use_persistent_context=True,
proxy="http://127.0.0.1:13120", # Optional: configure proxy if needed
)
async def main():
async with AsyncWebCrawler(config=browser_config) as crawler:
result_initial = await crawler.arun(
url="https://nft.porsche.com/onboarding@6",
cache_mode=CacheMode.BYPASS,
session_id="session_captcha_test"
)
# Wait for a moment for the page to load and the extension to be ready
time.sleep(6)
# Use js_code to trigger the manual solve button provided by the CapSolver extension
js_code = """
let solverButton = document.querySelector(\'#capsolver-solver-tip-button\');
if (solverButton) {
// click event
const clickEvent = new MouseEvent(\'click\', {
bubbles: true,
cancelable: true,
view: window
});
solverButton.dispatchEvent(clickEvent);
}
"""
print(js_code)
run_config = CrawlerRunConfig(
cache_mode=CacheMode.BYPASS,
session_id="session_captcha_test",
js_code=js_code,
js_only=True,
)
result_next = await crawler.arun(
url="https://nft.porsche.com/onboarding@6",
config=run_config
)
print("JS Execution results:", result_next.js_execution_result)
# Allow time for the AWS WAF to be solved after manual trigger
time.sleep(30) # Example wait, adjust as necessary
# Continue with other Crawl4AI operations
if __name__ == "__main__":
asyncio.run(main())
Analisis Kode:
manualSolving: Sebelum menjalankan kode ini, pastikanconfig.jsekstensi CapSolver memilikimanualSolvingdiatur ketrue.- Memicu Penyelesaian:
js_codemensimulasikan event klik pada#capsolver-solver-tip-button, yaitu tombol yang disediakan oleh ekstensi CapSolver untuk penyelesaian manual. Ini memberi Anda kontrol yang tepat kapan proses penyelesaian AWS WAF dimulai.
Kesimpulan
Mengintegrasikan Crawl4AI dengan CapSolver menawarkan solusi yang kuat dan efisien untuk melewati perlindungan AWS WAF, memungkinkan pengambilan data dan ekstraksi data tanpa gangguan. Dengan memanfaatkan kemampuan CapSolver untuk mendapatkan token aws-waf-token yang kritis dan kemampuan fleksibel Crawl4AI untuk menyisipkan js_code, pengembang dapat memastikan proses otomatis mereka menavigasi situs yang dilindungi WAF secara mulus.
Integrasi ini tidak hanya meningkatkan stabilitas dan tingkat keberhasilan crawler Anda, tetapi juga mengurangi secara signifikan beban operasional yang terkait dengan mengelola mekanisme anti-bot yang kompleks. Dengan kombinasi yang kuat ini, Anda dapat mengumpulkan data dari aplikasi web yang paling aman dengan percaya diri.
Pertanyaan yang Sering Diajukan (FAQ)
Q1: Apa itu AWS WAF dan mengapa digunakan dalam pengambilan data web?
A1: AWS WAF (Web Application Firewall) adalah layanan keamanan berbasis cloud yang melindungi aplikasi web dari eksploit web umum. Dalam pengambilan data, AWS WAF ditemui sebagai mekanisme anti-bot yang memblokir permintaan yang dianggap mencurigakan atau otomatis, memerlukan teknik melewati untuk mengakses data target.
Q2: Bagaimana CapSolver membantu melewati AWS WAF?
A2: CapSolver menyediakan layanan khusus, seperti AntiAwsWafTaskProxyLess, untuk menyelesaikan tantangan AWS WAF. Ini mendapatkan cookie aws-waf-token yang diperlukan, yang kemudian digunakan oleh Crawl4AI untuk meniru perilaku pengguna yang sah dan mendapatkan akses ke situs yang dilindungi.
Q3: Apa metode integrasi utama AWS WAF dengan Crawl4AI dan CapSolver?
A3: Terdapat dua metode utama: integrasi API, di mana API CapSolver dipanggil untuk mendapatkan aws-waf-token yang kemudian disisipkan melalui js_code Crawl4AI, dan integrasi Ekstensi Browser, di mana ekstensi CapSolver secara otomatis menangani tantangan WAF dalam konteks browser yang persisten.
Q4: Apakah perlu menggunakan proxy saat menyelesaikan AWS WAF dengan CapSolver?
A4: Meskipun tidak selalu wajib, menggunakan proxy bisa menjadi manfaat, terutama jika operasi scraping Anda memerlukan anonimitas atau mensimulasikan permintaan dari lokasi geografis tertentu. Tugas CapSolver umumnya mendukung konfigurasi proxy.
Q5: Apa manfaat dari mengintegrasikan Crawl4AI dan CapSolver untuk AWS WAF?
A5: Integrasi ini menghasilkan penanganan WAF otomatis, peningkatan efisiensi crawling, ketangguhan crawler yang lebih baik terhadap mekanisme anti-bot, dan pengurangan biaya operasional dengan meminimalkan intervensi manual.
Referensi
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

Cara menyelesaikan AWS Captcha dengan NodeJS
Dalam artikel ini, kami akan menunjukkan kepada Anda cara menyelesaikan AWS Captcha / Tantangan dengan Node.JS.

Anh Tuan
30-Nov-2025

Penyelesaian Otomatis CAPTCHA AWS WAF Menggunakan Integrasi API atau Peramban
Ketahui cara menyelesaikan CAPTCHA AWS WAF secara otomatis menggunakan ekstensi browser dan integrasi API. Panduan ini mencakup pengenalan gambar, tantangan berbasis token, dan solusi CapSolver untuk otomatisasi yang mulus dan penggalian web.

Emma Foster
23-Oct-2025

Cara Mengatasi AWS WAF di Crawl4AI dengan Integrasi CapSolver
Pelajari cara menyelesaikan perlindungan AWS WAF di Crawl4AI menggunakan metode integrasi API CapSolver dan ekstensi browser. Panduan ini menyediakan contoh kode untuk penjelajahan web yang mulus.

Emma Foster
21-Oct-2025

Solusi Pemecah CAPTCHA AWS WAF Terbaik untuk Otomasi dan Penyedotan Data
Temukan solusi CAPTCHA terbaik untuk AWS WAF. Solusi berbasis AI dari CapSolver mengatasi tantangan WAF secara instan, memastikan pengambilan data web tanpa gangguan dan otomatisasi dalam skala besar.

Ethan Collins
17-Oct-2025

AWS WAF Pemecah CAPTCHA: Solusi Token & Gambar untuk Scraper
Pelajari cara menyelesaikan tantangan CAPTCHA AWS WAF untuk web scraping dan otomatisasi. Panduan praktis tentang solusi berbasis token dan berbasis gambar, integrasi API vs. browser, dan praktik terbaik.

Adélia Cruz
17-Oct-2025


