Hvordan trækker man et link til seneste TV-Avis på DRTV?
https://www.dr.dk/service/dr-nyheder-som-rss-feed-1 Jeg fandt denne liste over rss feeds
Tak, men ak ingen TV-avis.
Jeg forsøger at kunne trække et link til den [relativt seneste] TV-Avis her inde: https://www.dr.dk/drtv/serie/tv-avisen_358871 til offline brug med yt-dlp.
Men jeg kan ikke gennemskue hvordan. Er der en @dolle@feddit.dk til stede?
Nu har jeg lige været inde i inspect element, og kan se at hvert felt med en TV-avis er en class for sig, hvor den nyeste ender med “__episode–active”. Kunne man ikke lave et script der tjekker efter denne, måske med følgende fremgangsmåde:
Find klassen "d1-drtv-episode col col-phone-24 col-phablet-12 col-laptop-8 col-desktopWide-6 d1-drtv__episode d1-drtv__episode--active" Kopier titel fra klassen "d1-drtv-episode-title-and-details__contextual-title" Kopier dato for udsendelsen fra klassen "d1-drtv-episode-title-and-details__contextual-title-extra-details" Linket kræver lidt tilpasning, da det ikke umiddelbart fremgår, men i klassen "d1-drtv-episode-title-and-details d1-drtv-episode-description__title-and-details" indgår et link, hvor "episode" skal erstattes med "se" for at komme til videoen. Det burde være muligt at trylle med det Tjek med det sidst downloadede afsnit, om dato/tid strengen fra "d1-drtv-episode-title-and-details__contextual-title-extra-details" er den samme. Hvis det er tilfældet er der ikke kommet et nyt afsnit, og så skal vi stoppe. Ellers kan vi downloade ved hjælp af fx yt-dlp.
Det er så en fremgangsmåde der kræver noget webscraping, så det er ikke sikkert at det altid vil virke. Men jeg tror bestemt at det er muligt at implementere. Jeg gjorde noget lignende da jeg under OL lavede daglige tråde inde på !sport@feddit.dk. Der webscrapede jeg TV2’s tvtid for at finde de relevante programmer for en given dag. Jeg mener at jeg brugte pythonpakken BeutifulSoup, som kan hjælpe med at parse html. Du kan sikkert på ChatGPT til at hjælpe med at skrive scriptet.
Jeg tror også du får problemer med yt-dlp. DR har lige implementeret at man skal være logget ind for at se gamle programmer, inklusiv udsendelser af tv avisen. Det bliver nok sværere at downloade når man skal logge ind.
Man kan fodre yt-dlp med ens browser cookies, så hvis man lige logger ind på DR med sin konto, og dernæst langer nogle småkager over disken til yt-dlp, så kan det være det kan fungere. Men jeg er ikke sikker.
Nu får jeg lige pludselig lyst til at lave småkager, som jeg kan lange over disken herhjemme… Er det for tidligt at lave diverse julesmåkager?
Bare form dem som græskar og kranier. Det er ikke julekager, det er Halloween-kager.
Selvom de måske lidt har formen, så tror jeg alligevel at pebernødder er for små til at kunne gå for at ligne et græskar…
Tusind tak for forslagene. Har nu et script, der kan finde seneste TV-avis… men desværre virker yt-dlp ikke længere med DRTV pga. det ny login-halløj. Forsøgte at parse min browser cookie uden held (disclaimer: jeg ved ikke, hvad jeg laver 🙃)
Status: Nær ved og næsten.
- Script (skrevet af Claude): https://pastebin.com/NjckvaHE
- Cmd log: https://pastebin.com/3phteRdm
Prøver jeg at isolere yt-dlp, får jeg samme HTTP 404 error som dem her: https://github.com/yt-dlp/yt-dlp/issues/11137
Edit: Forsøgte også at hente min cookie ned lokalt, men det hjalp ikke. Må være yt-dlp, der ikke vil lege med DR’s ny login system.
Jeg sidder også i dag og forsøger at downloade indhold fra DRTV med yt-dlp og kan desværre ikke få det til at virke.
Edit: Så lykkedes det! Jeg brugte
yt-dlp --cookies-from-browser firefox
, men fik også 404 da jeg bare pastede URL’en fra browserens adressebar ind. Til gengæld lykkedes det da jeg pausede programmet, åbnede developer tools og derefter så hvilke .mp4 strømme der blev hentet. Da jeg kopierede den med den den højeste bitrate virkede det sgu!Sådan, Dolle!
Jeg prøver at replikere, men er det ikke en unik URL, vi ser i dev tools, som ændrer sig for hver udsendelse?
Så kan det vel ikke automatiseres, eller er der noget, jeg overser?
Edit:
Del evt. dit fund i førnævnte GitHub issue for internet goodwill. Merged / closedEdit: Du får en URL til mp4 - jeg ser kun .ts links på TV-avisen. VideoDownloadHelper vil gerne lege med (vælger en .m3u8 stream), men yt-dlp giver HTTP Error 403 uanset. Nørder videre…
Der er helt sikkert en måde at automatisere det på, men jeg ved ikke hvor svært det er. Hvis man er heldig kan man ekstrahere URL’en fra HTML’en, men der er nok også en vis risiko for at den sammensættes af noget JavaScript.