Files

2.0 KiB

Musical Time Machine

🌐 English · Dansk · Bahasa Melayu

En løsning på dag 46 i Udemys 100 Days of Code: The Complete Python Pro Bootcamp. Skriv en dato, så scraper programmet Billboard Hot 100 for den dag (scraping betyder, at et program automatisk henter og læser data fra en hjemmeside) og bygger en privat YouTube Music-playliste af sangene, så du kan høre musikken fra en dag, der betyder noget for dig.

Wikien følger forelæsningens fire trin. Hver side viser, hvad trinnet gør, et skærmbillede og Det lærte vi: den teknik, trinnet lærer os.

Side Læs den, når du vil
Setup og kørsel Installere projektet i et .venv, oprette browser.json og køre testene
Trin 1 - Scrape Billboard Hot 100 Se, hvordan requests og BeautifulSoup gør en hjemmeside til en Python-liste
Trin 2 - YouTube Music-godkendelse Se, hvordan ytmusicapi låner din browsers login
Trin 3 - Opret playlisten Se, hvordan man opretter noget én gang og aldrig to
Trin 4 - Søg efter og tilføj sange Se, hvordan en lang løkke kører videre, når ét element fejler

Overblik

Lag Hvad det indeholder
domain Song, Playlist, datoreglerne og fejlene
application Use cases (scrape_titles, create_playlist, add_songs) og de porte, de har brug for
infrastructure Bakeboard-scraperen og ytmusicapi-adapteren
presentation Kommandolinjen, som forbinder det hele

Alle konstanter ligger i constants.py. Testene bruger en gemt kopi af hitlistesiden og en falsk YouTube Music-tjeneste, så de aldrig har brug for netværket eller en konto.

Skærmbilleder

Hvert trin har et skærmbillede af en rigtig kørsel. I trin 2 til 4 bruger den rigtige kørsel forfatterens browser.json (den offentliggøres aldrig), og et andet skærmbillede viser testene med en falsk YouTube Music-tjeneste.