Skip to content

About

Desktop app buat ngumpulin data tempat usaha dari Google Maps - rapi, stealth, langsung jadi Excel.

Topics

Resources

Contributing

Stars

1 star

Watchers

0 watching

Forks

Repository files navigation

Map Scrape

Python Platform License Tests


Map Scrape itu aplikasi desktop buat ngumpulin data tempat usaha dari Google Maps. Kamu tentukan lokasi dan kata kunci, sisanya dia yang kerjain: ambil nama, rating, jumlah ulasan, telepon, WhatsApp, website, alamat, sampai jam buka, lalu rapikan jadi file Excel, CSV, atau JSON yang siap pakai.

Dibikin biar gampang dipakai siapa aja. Versi rilis tinggal klik dua kali, tanpa perlu install Python atau setup apa pun.


Yang bisa dilakukan

Targetkan area dengan presisi. Tentukan titik pusat plus radius, atau pilih wilayah lewat hierarki Provinsi → Kabupaten/Kota → Kecamatan → Desa (pakai data Kepmendagri 2025), bisa juga lewat kode pos.

Cakupan luas tanpa kelewat. Area besar otomatis dipecah jadi sel-sel kecil (grid search) supaya hasilnya lebih lengkap, dan berhenti sendiri begitu sudah jenuh.

Browser yang susah dideteksi. Pakai Patchright (Chromium versi stealth). Bisa jalan dengan jendela tampil atau diam-diam di belakang (headless).

Data yang lengkap. Rating, jumlah ulasan, telepon, WhatsApp, website, alamat, koordinat, kategori, plus jam buka mingguan dan status tempat (buka, tutup, tutup permanen, atau sementara).

Filter dan urutan sesuai kebutuhan. Saring berdasarkan rating, jumlah ulasan, kategori, atau wajib punya kontak. Pengurutan multi-aturan yang hasilnya konsisten.

Hasil yang rapi. Excel-nya bukan sekadar data mentah, tapi ada dashboard ringkasan dengan kartu KPI. Nama file dibikin pendek dan jelas otomatis.

Dua cara pakai. Lewat aplikasi jendela (GUI) atau mode terminal (CLI), terserah selera.

Portabel. Semua data, output, dan browser disimpan di dalam folder aplikasi. Pindahkan foldernya, aplikasinya tetap jalan. Pengaturan terakhir seperti bahasa dan mode headless juga ikut tersimpan.


Teknologi

Bagian Dipakai
Mesin scraping Patchright / Playwright (Chromium)
Backend & API FastAPI, Uvicorn, SSE (loopback)
Antarmuka PyWebView, Alpine.js, Tailwind CSS
Terminal Typer, Questionary, Rich
Pengolahan data Pandas, XlsxWriter, openpyxl, phonenumbers
Penyimpanan SQLite (aiosqlite)
Konfigurasi Pydantic v2, YAML

Menjalankan dari source

Butuh Python 3.11 ke atas di Windows.

git clone https://github.com/somaylab/map-scrape.git
cd map-scrape

python -m venv .venv
.\.venv\Scripts\Activate.ps1

pip install -r requirements.txt
patchright install chromium

# opsional, kalau mau pakai proxy atau API key
copy .env.example .env

python main.py gui      # mode aplikasi jendela
python main.py          # mode terminal
python main.py --help   # daftar perintah

Build jadi .exe

Buat dibagikan ke orang yang tidak punya Python, bundel jadi executable:

pip install -r requirements-dev.txt
pip install pyinstaller
pyinstaller MapScrape.spec --noconfirm

Hasilnya dua executable dalam satu folder: Map Scrape.exe (aplikasi jendela) dan Map Scrape CLI.exe (mode terminal). Browser Chromium diunduh ke data/browsers saat pertama kali dijalankan. Detailnya ada di MapScrape.spec.


Struktur

map-scrape/
├── main.py            Entry point (pemilah CLI / GUI)
├── config.yaml        Konfigurasi default
├── MapScrape.spec     Resep build PyInstaller
│
├── core/              Mesin dan HTTP API
│   ├── scraper/       Browser, stealth, proxy, geo, grid, parser
│   ├── pipeline/      Normalize, filter, sort, dedup
│   ├── exporter/      CSV, XLSX, JSON
│   ├── state/         SQLite, checkpoint, wilayah
│   └── api/           FastAPI dan SSE
│
├── gui/               Window PyWebView dan frontend
├── cli/               Terminal (Typer)
├── scripts/           Pembangun data wilayah dan kode pos
├── data/              Data wilayah dan kode pos Indonesia
└── tests/             317 test

Development

pytest          # jalankan semua test
ruff check .    # cek lint
ruff format .   # rapikan format

Catatan

Tool ini dibuat untuk keperluan riset pribadi dan edukasi. Pengguna bertanggung jawab penuh atas penggunaannya, termasuk mematuhi Ketentuan Layanan Google Maps dan aturan yang berlaku di wilayah masing-masing.


Lisensi

Dirilis di bawah lisensi MIT. Bebas dipakai, diubah, dan disebarkan.


Dibuat oleh wargavisual

About

Desktop app buat ngumpulin data tempat usaha dari Google Maps - rapi, stealth, langsung jadi Excel.

Topics

Resources

Contributing

Stars

1 star

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages