2.1 KiB
2.1 KiB
Langkah 1 - Mengikis Billboard Hot 100
🌐 English · Dansk · Bahasa Melayu
Apa yang dilakukan oleh langkah ini
Program meminta satu tarikh dalam format YYYY-MM-DD, membuat permintaan ke https://appbrewery.github.io/bakeboard-hot-100/<date>/ dan membaca 100 lagu daripada HTML. Bakeboard ialah klon Billboard Hot 100 yang disediakan kursus, kerana laman sebenar boleh berubah atau menambah tembok bayaran pada bila-bila masa.
python -m musical_time_machine --list-only
Laman Bakeboard bagi 2026-04-18:
Output program (dipaparkan daripada teks larian sebenar, bukan gambar tetingkap terminal):
Apa yang kita pelajari
- Membaca laman web sebagai data.
BeautifulSoupmenukar HTML menjadi pepohon, dan pemilih CSS (div.chart-entry,h3.chart-entry__title) memilih bahagian yang kita mahu. Kita menemui pemilih tersebut dengan melihat penanda halaman terlebih dahulu. - Menjadi klien yang sopan. Sesuatu permintaan membawa pengepala;
User-Agentmemberitahu pelayan jenis klien yang meminta.timeoutdanraise_for_status()menjadikan halaman yang perlahan atau tiada gagal dengan jelas dan bukannya tergantung. - Mengesahkan input di sempadan.
parse_chart_datehanya menerima tarikhYYYY-MM-DDyang sebenar, jadi bahagian lain program tidak pernah menerima tarikh yang salah. - Menguji tanpa rangkaian. Laman carta disimpan di bawah
tests/fixtures/, dan pengikis menerima pengambil halamannya sebagai parameter, jadi ujian memeriksa 100 lagu tanpa satu permintaan pun. - Menyimpan pengetahuan di satu tempat. URL, pemilih dan mesej berada dalam
constants.py; jika Bakeboard mengubah penandanya, hanya satu fail yang berubah.

