Persediaan dan Menjalankan
🌐 English · Dansk · Bahasa Melayu
Apa yang anda perlukan
- Python 3.13 atau lebih baharu.
- Untuk langkah 2 hingga 4: akaun Google dan Firefox.
Cipta persekitaran maya
python -m venv .venv
Aktifkannya. Pada Windows PowerShell:
.venv\Scripts\Activate.ps1
Pada Linux dan macOS:
source .venv/bin/activate
Naik taraf pip dan pasang projek:
python -m pip install --upgrade pip
python -m pip install -e ".[dev]"
Cipta browser.json
ytmusicapi tidak mempunyai kunci API. Ia menggunakan semula log masuk pelayar anda, jadi anda menyalin pengepala permintaan bagi sesi yang telah log masuk sekali sahaja.
- Buka Firefox dan pergi ke https://music.youtube.com, dalam keadaan telah log masuk.
- Buka alat pembangun (
Ctrl+Shift+I, pada macOSCmd+Option+I) dan pilih Network. - Taip
browsedalam penapis, pilih satu permintaanbrowse?...yang berjaya, klik kanan padanya dan pilih Copy Value, kemudian Copy Request Headers. - Jalankan
ytmusicapi browserdalam folder projek dan tampal pengepala tersebut. Akhiri denganCtrl+D(Ctrl+Zdan Enter pada Windows). Pada macOS jalankanpbpaste | ytmusicapi browser.
Fail ini mengandungi kuki anda: ia diabaikan oleh git dan tidak boleh dikongsi sama sekali. Kuki akan tamat tempoh selepas beberapa lama; ulangi langkah-langkah ini untuk mendapatkan fail yang baharu.
Jika --check-login berkata Expecting value, fail itu mengandungi entri yang bukan pengepala permintaan (salinan daripada Chrome boleh menambah Request URL, Decoded, music.youtube.com, satu laluan atau content-encoding). Salin hanya blok Request Headers, atau gunakan Copy Request Headers Firefox, dan cipta fail itu semula.
Jalankan
python -m musical_time_machine --list-only # step 1: print the chart
python -m musical_time_machine --check-login # step 2: count your playlists
python -m musical_time_machine --create-playlist # step 3: create the playlist
python -m musical_time_machine # step 4: the full program
Format tarikh ialah YYYY-MM-DD; gunakan tarikh yang ada pada Bakeboard, contohnya 2026-04-18.
Uji
python -m pytest
Ujian tidak memerlukan rangkaian dan tidak memerlukan akaun.