DE EN ES FR ID JA KO PT RU TH VI ZH

Cheerio

Cheerio adalah implementasi server-side dari jQuery yang dirancang khusus untuk aplikasi Node.js. Ia menyediakan API mirip jQuery yang familiar untuk parsing, manipulasi, dan traversal dokumen HTML dan XML tanpa overhead dari lingkungan browser. Baik Anda sedang membangun web scraper, memproses template HTML, atau mengubah markup secara programatis, Cheerio membuat bekerja dengan HTML semudah bekerja dengan DOM di browser.

Pada intinya, Cheerio memecahkan masalah manipulasi HTML di server-side. Sementara browser menyediakan API DOM native untuk berinteraksi dengan HTML, lingkungan JavaScript server-side tidak memiliki kemampuan ini. Cheerio menjembatani kesenjangan ini dengan mengimplementasikan method jQuery yang paling berguna dalam package yang ringan dan dioptimalkan untuk server. Ia dibangun di atas library parsing yang telah terbukti seperti htmlparser2 dan parse5, memastikan pemrosesan HTML yang cepat dan akurat sambil mempertahankan sintaks yang developer-friendly yang sudah dikenal jutaan developer.

Yang membedakan Cheerio adalah fokusnya pada performa dan kesederhanaan. Tidak seperti solusi headless browser yang mensimulasikan seluruh lingkungan browser, Cheerio beroperasi langsung pada struktur HTML yang telah diparsing, membuatnya sangat cepat untuk tugas manipulasi HTML. Ia menghilangkan kompleksitas dan inkonsistensi khusus browser, memberikan Anda API yang bersih dan konsisten untuk pemrosesan HTML yang bekerja dengan handal di berbagai lingkungan.

Fitur Utama

Quick Start

Mulai dengan Cheerio dengan menginstalnya melalui npm:

npm install cheerio

Berikut contoh sederhana yang mendemonstrasikan kekuatan Cheerio untuk manipulasi HTML:

import * as cheerio from 'cheerio';

// Load HTML content
const $ = cheerio.load(`
  <html>
    <head><title>My Page</title></head>
    <body>
      <h1 class="header">Welcome</h1>
      <div class="content">
        <p>Hello <span class="name">World</span>!</p>
        <ul class="list">
          <li>Item 1</li>
          <li>Item 2</li>
        </ul>
      </div>
    </body>
  </html>
`);

// Use jQuery-like selectors to find and modify elements
$('h1').text('Welcome to Cheerio!');
$('.name').text('Everyone');
$('.list').append('<li>Item 3</li>');
$('p').addClass('highlight');

// Extract data from elements
const title = $('title').text();
const items = $('.list li').map((i, el) => $(el).text()).get();

console.log('Page title:', title);
console.log('List items:', items);
console.log('Modified HTML:', $.html());

Contoh ini menunjukkan bagaimana Cheerio membuat manipulasi HTML menjadi intuitif:

  1. Loading HTML — Fungsi cheerio.load() mem-parsing HTML Anda dan mengembalikan fungsi mirip jQuery ($)
  2. Selecting Elements — Gunakan CSS selector untuk menargetkan elemen spesifik, sama seperti di jQuery
  3. Modifying Content — Chain method seperti .text(), .addClass(), dan .append() untuk memodifikasi HTML Anda
  4. Extracting Data — Gunakan method seperti .map() untuk mengekstrak informasi dari beberapa elemen
  5. Outputting Results — Panggil .html() untuk mendapatkan string HTML akhir yang telah dimodifikasi

Sintaks jQuery yang familiar berarti hampir tidak ada learning curve jika Anda pernah menggunakan jQuery sebelumnya, membuat Cheerio sangat approachable untuk developer dari semua level skill.

Kapan Menggunakan Cheerio vs Alternatif

Pilih Cheerio ketika:

Pertimbangkan alternatif ketika:

Cheerio vs Puppeteer/Playwright: Sementara headless browser dapat mengeksekusi JavaScript dan mensimulasikan interaksi user, mereka jauh lebih berat dan lambat. Cheerio sempurna ketika Anda hanya perlu HTML parsing dan manipulasi tanpa eksekusi JavaScript.

Cheerio vs Native DOM API: Lingkungan browser menyediakan manipulasi DOM native, tapi Node.js server-side tidak. Cheerio mengisi kesenjangan ini dengan interface yang familiar dan terinspirasi jQuery.

Cheerio vs Regular Expression: Sementara regex dapat mengekstrak data dari HTML, ia rapuh dan rawan error. Cheerio menyediakan HTML parsing yang robust yang menangani edge case dan markup malformed dengan baik.

Cheerio unggul dalam skenario dimana Anda membutuhkan pemrosesan HTML yang cepat dan andal tanpa kompleksitas dan kebutuhan sumber daya dari lingkungan browser penuh. API yang kompatibel dengan jQuery membuatnya pilihan yang sangat baik untuk developer yang menginginkan kemampuan manipulasi HTML yang powerful dengan overhead pembelajaran minimal.