Firecrawl: Web Scraping API untuk Aplikasi AI dan LLM

# Firecrawl: Web Scraping API untuk Aplikasi AI dan LLM Firecrawl adalah managed web scraping API yang dirancang khusus untuk kebutuhan AI dan LLM. Berbeda dengan web scraper tradisional, Firecrawl m...

By Ruby Abdullah · · tutorial
FirecrawlWeb ScrapingAPIRAGPython

Firecrawl: Web Scraping API untuk Aplikasi AI dan LLM

Firecrawl adalah managed web scraping API yang dirancang khusus untuk kebutuhan AI dan LLM. Berbeda dengan web scraper tradisional, Firecrawl menghasilkan output dalam format markdown yang bersih dan terstruktur, siap digunakan untuk pipeline RAG (Retrieval-Augmented Generation), fine-tuning dataset, atau knowledge base construction.

Artikel ini membahas cara menggunakan Firecrawl untuk berbagai skenario web scraping dalam konteks aplikasi AI, mulai dari scraping halaman tunggal hingga membangun pipeline ingestion knowledge base secara lengkap.

Mengapa Firecrawl?

Web scraping untuk keperluan AI memiliki tantangan unik. Tools scraping tradisional seperti BeautifulSoup atau Scrapy menghasilkan HTML mentah yang perlu dibersihkan secara manual. Halaman modern sering menggunakan JavaScript rendering yang memerlukan browser automation. Firecrawl menyelesaikan masalah ini:

  • Output markdown bersih: Konten langsung dalam format yang dimengerti LLM
  • JavaScript rendering: Menangani halaman SPA dan dynamic content secara otomatis
  • Structured data extraction: Ekstraksi data terstruktur menggunakan LLM built-in
  • Crawling website: Jelajahi seluruh website secara otomatis mengikuti link
  • Managed infrastructure: Tidak perlu mengelola proxy, browser, atau server sendiri
  • Rate limiting otomatis: Menghormati robots.txt dan rate limits

Instalasi dan Setup

Instalasi SDK

pip install firecrawl-py

API Key Setup

Daftar di firecrawl.dev untuk mendapatkan API key:

from firecrawl import FirecrawlApp

app = FirecrawlApp(apikey="fc-YOURAPIKEYHERE")

Atau set sebagai environment variable:

export FIRECRAWLAPIKEY="fc-YOURAPIKEYHERE"

import os

from firecrawl import FirecrawlApp

app = FirecrawlApp(apikey=os.getenv("FIRECRAWLAPIKEY"))

Scrape Halaman Tunggal

Output Markdown

Firecrawl mengubah halaman web menjadi markdown yang bersih:

from firecrawl import FirecrawlApp

app = FirecrawlApp(apikey="fc-YOURAPIKEY")

Scrape halaman tunggal

result = app.scrapeurl(

"https://docs.python.org/3/tutorial/classes.html",

params={"formats": ["markdown"]}

)

Akses konten markdown

markdowncontent = result.get("markdown", "")

print(f"Panjang konten: {len(markdowncontent)} karakter")

print(markdowncontent[:500])

Metadata halaman

metadata = result.get("metadata", {})

print(f"Title: {metadata.get('title')}")

print(f"Description: {metadata.get('description')}")

print(f"Language: {metadata.get('language')}")

Output HTML

Jika Anda membutuhkan HTML mentah:

result = app.scrapeurl(

"https://example.com/article",

params={"formats": ["html", "markdown"]}

)

htmlcontent = result.get("html", "")

markdowncontent = result.get("markdown", "")

print(f"HTML length: {len(htmlcontent)}")

print(f"Markdown length: {len(markdowncontent)}")

Screenshot

Firecrawl juga bisa mengambil screenshot halaman:

result = app.scrapeurl(

"https://example.com",

params={"formats": ["screenshot"]}

)

screenshoturl = result.get("screenshot")

print(f"Screenshot URL: {screenshoturl}")

Download screenshot

import requests

if screenshoturl:

response = requests.get(screenshoturl)

with open("screenshot.png", "wb") as f:

f.write(response.content)

print("Screenshot saved!")

Crawl Seluruh Website

Firecrawl bisa menjelajahi seluruh website dengan mengikuti link secara otomatis:

from firecrawl import FirecrawlApp

app = FirecrawlApp(apikey="fc-YOURAPIKEY")

Crawl website dengan konfigurasi

crawlresult = app.crawlurl(

"https://docs.python.org/3/tutorial/",

params={

"limit": 50, # Maksimal 50 halaman

"maxDepth": 3, # Kedalaman link maksimal

"includePaths": ["/3/tutorial/"], # Hanya path tertentu

Artikel Terkait

Tutorial ColBERT & RAGatouille: Late-Interaction Retrieval untuk RAG

ColBERT & RAGatouille: Retrieval Late-Interaction untuk RAG yang Lebih Baik Sebagian besar sistem RAG mengandalkan dense...

RAGAS: Framework Evaluasi untuk Pipeline RAG

RAGAS: Framework Evaluasi untuk Pipeline RAG Pendahuluan Retrieval-Augmented Generation (RAG) telah menjadi arsitektur s...

Docling: Document Parsing Cerdas untuk Pipeline AI dan RAG

Docling: Document Parsing Cerdas untuk Pipeline AI dan RAG Dalam era AI generatif, kemampuan untuk mengekstrak informasi...

Crawl4AI: Web Crawling yang Dioptimalkan untuk Pipeline AI

Crawl4AI: Web Crawling yang Dioptimalkan untuk Pipeline AI Dalam membangun aplikasi AI modern, terutama yang berbasis Re...