Proquest Downloader: Otomasi Unduh Jurnal PDF dari ProQuest dengan Python
Kalau pernah duduk di depan layar, buka ProQuest, klik satu jurnal, tunggu load, klik download, tunggu lagi — lalu ulangi proses yang sama puluhan kali — kamu tahu betapa tidak efisiennya itu. Saya pernah butuh 60+ PDF untuk satu riset. Setelah jurnal ke-7, saya berhenti dan mulai nulis script ini.
Proquest Downloader adalah tool Python yang mengurus semua bagian membosankan dari proses itu. Dari pencarian, navigasi halaman, bypass popup, sampai unduh dan simpan PDF — semuanya otomatis.
Masalah yang Sering Luput
ProQuest bukan situs yang “browser automation-friendly”. Ada beberapa lapisan yang bikin script sederhana langsung gagal:
- Cookie consent banner yang menutupi seluruh halaman
- Pendo overlay yang muncul di tengah sesi
- Modal backdrop yang memblokir klik ke elemen di bawahnya
- Tombol download yang membuka tab baru — bukan download langsung
Waktu saya pertama kali coba Playwright polos, script saya mati di langkah ketiga karena tombol klik terblokir overlay yang tidak terdeteksi. Dua jam debugging — dan solusinya bukan nunggu elemen hilang, tapi bunuh semua layer pengunci via CSS injection sebelum setiap interaksi penting.
Fungsi clean_page_nuclear() di script ini melakukan persis itu: inject satu blok CSS yang set semua elemen pengunci jadi display: none dan hapus pointer-event restriction dari seluruh halaman. Efektif, dan tidak perlu menunggu animasi apapun.
Cara Kerjanya
Alur script dari awal sampai akhir:
- Browser Chromium terbuka (mode visual, bukan headless — lebih stabil di ProQuest)
- Script coba isi kotak pencarian dan tekan Enter otomatis
- Kalau gagal → prompt manual: kamu cari sendiri, lalu tekan Enter di terminal
- Untuk setiap halaman hasil (sampai
MAX_PAGES): ambil daftar.resultItem, klik satu per satu - Di halaman detail jurnal: klik tombol download → tangkap tab baru yang terbuka
- Download PDF dari URL di tab baru menggunakan
requests+ cookies sesi browser - Simpan ke folder
downloads/dengan nama dari judul jurnal
Yang menarik dari langkah 6: tab baru yang terbuka setelah klik download biasanya langsung menuju URL PDF. Script menangkap URL ini, lalu mengunduh via requests sambil meneruskan cookies browser — sehingga server ProQuest menganggap request datang dari sesi yang sudah terotentikasi.
Konfigurasi
Ada empat konstanta yang perlu disesuaikan di bagian atas script:
BASE_URL = "https://www.proquest.com/"
DOWNLOAD_DIR = "downloads"
MAX_PAGES = 5
DELAY_BETWEEN_DOWNLOADS = 5
MAX_PAGES — jumlah halaman hasil pencarian yang akan diproses. Satu halaman biasanya berisi 10–15 jurnal. Set ke 2 dulu untuk test, naikkan kalau sudah yakin stabil.
DELAY_BETWEEN_DOWNLOADS — jeda dalam detik antara setiap unduhan. Default 5 detik — cukup konservatif untuk menghindari rate limiting. Jangan diturunkan terlalu drastis.
DOWNLOAD_DIR — folder tujuan PDF. Dibuat otomatis kalau belum ada. Bisa diganti ke path absolut kalau mau simpan di lokasi lain.
Skip Otomatis
Script cek apakah file sudah ada sebelum proses. Kalau file dengan nama yang sama sudah ada di DOWNLOAD_DIR, jurnal itu di-skip — tidak didownload ulang. Berguna kalau script dihentikan di tengah jalan dan harus dilanjutkan.
[12] Skip (ada): Impact of Social Media on Consumer Behavior...
Jadi aman untuk stop kapanpun dan lanjutkan nanti.
Pasangkan dengan PDF Metadata Extractor
Download selesai — tapi nama filenya sudah rapi dari judul jurnal. Kalau masih ada yang namanya tidak ideal atau kamu butuh data bibliografi lengkap (penulis, DOI, jurnal, tahun), kombinasikan dengan tool berikutnya: PDF Metadata Extractor.
Tool itu membaca metadata setiap PDF, query CrossRef API berdasarkan DOI, dan bisa rename ulang serta ekspor seluruh data ke Google Sheets — lengkap dengan nama penulis, nama jurnal, dan tahun terbit.
Dua tool ini bekerja secara berurutan: Proquest Downloader kumpulkan PDF-nya, PDF Metadata Extractor rapikan dan dokumentasikan semuanya.
Langkah Selanjutnya
Panduan setup lengkap — mulai dari install Python, Playwright, sampai langkah menjalankan script pertama kali — tersedia di dokumentasi Proquest Downloader.
Tool ini dibuat untuk kebutuhan internal riset dengan akses ProQuest yang sah. Repo bersifat private — kalau kamu butuh bantuan setup atau adaptasi untuk workflow riset kamu sendiri, hubungi SASHINDO PROJECT.
Script Python + Playwright untuk mengunduh PDF jurnal dari ProQuest secara otomatis — bypass popup, navigasi multi-halaman, dan simpan ke folder lokal tanpa klik manual.