Files
046-scraping-the-billboard/docs/wiki/Step-2-YouTube-Music-Authentication-da.md

2.2 KiB

Trin 2 - YouTube Music-godkendelse

🌐 English · Dansk · Bahasa Melayu

Hvad trinnet gør

YouTube Music har ingen enkel API-nøgle. Biblioteket ytmusicapi virker ved at låne din browsers login: du kopierer anmodningshovederne fra en logget ind Firefox-session én gang (se Setup og kørsel), og ytmusicapi browser gør dem til browser.json. Programmet åbner derefter YTMusic("browser.json") og tæller afspilningslisterne i dit bibliotek.

python -m musical_time_machine --check-login

Ved succes udskriver det Found N playlists in your library. Uden en gyldig browser.json udskriver det trinnene til fornyelse og afslutter med kode 1 i stedet for at vise et stack trace.

En rigtig kørsel med forfatterens browser.json (udskriften viser kun antallet, aldrig playlisternes navne):

Rigtigt login-tjek

Skærmbilledet viser kørslen uden browser.json og de tests, der bruger en falsk YouTube Music-tjeneste.

Login-tjek uden browser.json og testene til trin 2

Det lærte vi

  • Hvordan cookie-baseret godkendelse virker. Din browser beviser, hvem du er, med cookies og hoveder på hver anmodning; ved at kopiere dem kan et script optræde som den session. Det er også derfor, browser.json er en hemmelighed, ignoreres af git og udløber efter et stykke tid.
  • At skjule et bibliotek bag en port. Programmet taler med interfacet MusicService; kun infrastructure/ytmusic.py importerer ytmusicapi. Testene bruger en falsk tjeneste, og en anden musiktjeneste kunne tage dens plads.
  • At fejle hjælpsomt. En manglende eller udløbet fil bliver til en tydelig besked, der siger, hvordan den fornyes, fordi den fejl, en bruger ser, er en del af produktet.
  • En doven forbindelse. Klienten oprettes ved første brug, så opbygningen af tjenesten aldrig rører netværket.