Skip to content

mamur-rezeki/scraper-jadwal-sholat

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

14 Commits
 
 
 
 
 
 

Repository files navigation

scraper-jadwal-sholat

Scraper jadwal sholat dari KEMENAG Indonesia.

Inisialisasi & pengetahuan.

Kemungkinan website KEMENAG menggunakan framework PHP CI (Code Igniter). Setiap kali kita melakukan request, maka yang pertama kali di cek adalah session pada cookies.

Jadi, jika session tidak ditemukan, maka halaman hanya akan dimuat secara standar, yaitu tanpa memuat <option></option> untuk pilihan Provinsi dan Kabupaten. Oleh sebab itu, ketika melakukan request pertama kali, kita harus menyimpan cookies tujuannya untuk di gunakan pada request berikutnya.

Lihat contoh
import requests

url_awal = "https://bimasislam.kemenag.go.id/jadwalshalat"

sesi = requests.session()

# ini adalah inisialisasi awal untuk mendapatkan cookies
# <option></option> masih belum di tampilkan oleh server
inisialisasi = sesi.get(url_awal)
data_cookies = inisialisasi.cookies

# ini adalah request kedua setelah kita mendapatkan cookies
# <option></option> sudah di tampilkan oleh server
ada = sesi.get(url_awal, cookies=data_cookies)
print(sesi.content)

# ... <select id="search_prov">\n\t
# <option value=\'<token>\'  >PUSAT</option> ...
# <select> ...

Cara menggunakan modul ini

from . import Sholat

jadwal = Sholat

Mencari Kota / Kabupaten misal : hulu

kota = jadwal.cari_kabupaten("hulu")
print(kota) 
Lihat hasil
{
    "KAB. INDRAGIRI HULU": {"provinsi": "RIAU","x": "<tokenize>","y": "<tokenize>"},
    "KAB. ROKAN HULU": {"provinsi": "RIAU","x": "<tokenize>","y": "<tokenize>"},
    ...
    "KAB. HULU SUNGAI TENGAH": {"provinsi": "KALIMANTAN SELATAN","x": "<tokenize>","y": "<tokenize>"},
}

Mencari Provinsi misal : papua

provinsi = jadwal.cari_provinsi("papua")
print(provinsi)
Lihat hasil
{
    "KAB. ASMAT": {"provinsi": "PAPUA","x": "<tokenize>","y": "<tokenize>"},
    "KAB. BIAK NUMFOR": {"provinsi": "PAPUA","x": "<tokenize>","y": "<tokenize>"},
    ...
    "KAB. BOVEN DIGOEL": {"provinsi": "PAPUA","x": "<tokenize>","y": "<tokenize>"},
    "KAB. DEIYAI": {"provinsi": "PAPUA","x": "<tokenize>","y": "<tokenize>"}
}

Menampilkan jadwal sehari

sehari = jadwal.sehari("KAB. BOVEN DIGOEL", 2022, 12, 23)
print(sehari)
Lihat hasil
{
  "prov": "PAPUA",
  "kabko": "KAB. BOVEN DIGOEL",
  "lintang": "6\u00b0 5' 52.91\" S",
  "bujur": "140\u00b0 17' 48.81\" E",
  "data": {
    "2022-12-23": {
      "tanggal": "Jumat, 23/12/2022",
      "imsak": "03:50",
      "subuh": "04:00",
      "terbit": "05:20",
      "dhuha": "05:49",
      "dzuhur": "11:41",
      "ashar": "15:08",
      "maghrib": "17:55",
      "isya": "19:11"
    }
  }
}

Menampilkan jadwal sebulan

sebulan = jadwal.sebulan("KAB. ROKAN HULU", 2022, 8)
print(sebulan)
Lihat hasil
{
  "prov": "RIAU",
  "kabko": "KAB. ROKAN HULU",
  "lintang": "0\u00b0 53' 45.22\" N",
  "bujur": "100\u00b0 18' 29.86\" E",
  "data": {
    "2022-08-01": {
      "tanggal": "Senin, 01/08/2022",
      "imsak": "04:52",
      "subuh": "05:02",
      "terbit": "06:17",
      "dhuha": "06:45",
      "dzuhur": "12:29",
      "ashar": "15:50",
      "maghrib": "18:33",
      "isya": "19:45"
    },
    "2022-08-02": {
      "tanggal": "Selasa, 02/08/2022",
      "imsak": "04:52",
      "subuh": "05:02",
      "terbit": "06:17",
      "dhuha": "06:45",
      "dzuhur": "12:29",
      "ashar": "15:50",
      "maghrib": "18:33",
      "isya": "19:44"
    },

    ...
}

About

Scraper jadwal sholat dari KEMENAG Indonesia.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages