Skip to content

Latest commit

 

History

3 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 

Repository files navigation

Al-Quran NU

Scrape Data Al-Quran lengkap dari quran.nu.or.id.

Node.js JavaScript

Cara pakai

1. Scrape datanya

Butuh Node.js 18 ke atas. Tanpa npm install apa pun.

node scrape.js

Hasilnya masuk ke data/quran-nu.json (sekitar 100+ MB dengan tafsir).

Opsi lain:

node scrape.js --no-tafsir        # skip tafsir
node scrape.js --surah=al-fatihah # scrape satu surah untuk tes
node scrape.js --out=data/mini.json

2. Baca JSON

import data from './data/quran-nu.json' assert { type: 'json' };

const fatihah = data.surahs.find(s => s.slug === 'al-fatihah');
for (const ayat of fatihah.verses) {
  console.log(ayat.number, ayat.text);
  console.log(ayat.transliteration);
  console.log(ayat.translation_id);
}

Tafsir per ayat:

const ayat1 = fatihah.verses[0];
console.log(ayat1.tafsir_wajiz);
console.log(ayat1.tafsir_tahlili);

Cari satu ayat spesifik:

const baqarah255 = data.surahs
  .find(s => s.slug === 'al-baqarah')
  .verses.find(v => v.number === 255);

3. Struktur data

{
  "meta": { "surah_count": 114, "verse_count": 6236, ... },
  "surahs": [
    {
      "id": 1, "name": "Al-Fatihah", "slug": "al-fatihah",
      "translate": "Pembukaan", "type": "Makkiyah",
      "verse_count": 7, "juz_id": 1,
      "verses": [
        {
          "id": 1, "number": 1, "juz_id": 1, "surah_id": 1,
          "text": "بِسْمِ اللّٰهِ...",
          "transliteration": "bismillâhir-rahmânir-rahîm",
          "translation_id": "Dengan nama Allah...",
          "translation_en": "In the name of Allāh...",
          "translation_my": "...", "translation_de": "...",
          "translation_tr": "...", "translation_fr": "...",
          "tajweed": [{ "class": "...", "start_baris": 6, ... }],
          "tafsir_wajiz": "...",
          "tafsir_tahlili": "..."
        }
      ]
    }
  ],
  "tahlil": [{ "text": "...", "transliteration": "...", "translation_id": "..." }],
  "doa": [{ "slug": "doa-keseharian", "items": [...] }],
  "wirid": [{ "slug": "wirid-harian", "items": [...] }],
  "maulid": [{ "slug": "maulid-dibai", "items": [...] }]
}

Sumber data

Seluruh teks dari quran.nu.or.id milik NU Online. Repo ini hanya sediakan script scrape dan format ulang ke JSON untuk kemudahan.

Lisensi

MIT. LICENSE.

Dukung

Punya waktu dan rezeki lebih? Traktir kopi biar script lain ikut lahir.

Buy Me A Coffee