Follow along with the video below to see how to install our site as a web app on your home screen.
Huomio: This feature may not be available in some browsers.
Hieman täydensin skriptiä jotta se toimisi sellaisenaan myös ainakin Ubuntu-linuxissa. Jokuhan sellaistakin kyseli äskettäin.Toimii. Alla jonkinlainen ohje muille kiinnostuneille, miten tuota voi testata, jos on samanlainen aloittelija Pythonissa kuin minä.
win10, python 3.7 ilman mitään lisäkirjastoja, eikä ffmpeg-ohjelmaa: Ensin hain ffmpeg-ohjelman, sitten lisäsin käyttäjäni path-ympäristömuuttujaan hakemisto-polun ffmpeg.exe -tiedoston sisältävään kansioon, sitten asensin requests -moduulin pythoniin kun sitä ei ollut valmiina: pip install requests.
Sama ongelma, kuvakaappaus alla.Taas ei ruutu.fi toimi. Kontio&Parmas ei lataudu.
5 - Teatterin kummitus
Ilmoittelee, ettei videota löydy.
Mielestäni ei ole ruudun päässä mikään muuttunut. Ainakin pikku skriptini toimii kuten ennenkin:Ruutupalvelu muuttanut sivujaan, videotietojen etsiminen sivun antamista tiedoista pitää muuttaa.
Mutta video ladataan aivan samalla tavalla kuin ennenkin, urlin perusteella. Minähän en tietenkään tiedä miten FlickFetch asian hoitaa.Ruudun html-sivut ovat muuttuneet.
Niin, FF ei saa videota ladattua, koska se tekee jotain hassusti ja se hassutus ei enää toimi. Oikeasti videon saa ladattua kunhan tietää sen urlin lopussa olevan tunnusluvun. Ruudun webisivun detaljeilla ei ole merkitystä.Jotain on kuitenkin eri tavalla, kun kaikki ruutu-urlit antavat 0/0 episodia, vaikka toimivat normaalisti selaimeen kopsattuna.
Niin, FF ei saa videota ladattua, koska se tekee jotain hassusti ja se hassutus ei enää toimi. Oikeasti videon saa ladattua kunhan tietää sen urlin lopussa olevan tunnusluvun. Ruudun webisivun detaljeilla ei ole merkitystä.
Lue vanhoja viestejä. Väärä hälytys, virustotal.com jne.Tämmöinen ilmoitus tuli defenderiltä kun latasin just paketin osoitteesta
FlickFetch -> full linkki
http://flickfetch.bplaced.net/download.php?file=flickfetch_setup_full.exe
varmaan defenderin false positive
Remove Trojan:Win32/Spursint.F!cl
Minua kiinnostaa vain perusasia, videoiden lataaminen. Joka siis on ruudun tapauksessa hyvin yksinkertaista. Nettisivujen lisäinfon saan halutessani niiltä nettisivuilta.Tee sitten lataussysteemi joka hakee pelkän videon lisäksi myös kaikki tiedot videosta sekä koko sarjan kaikista kausista (estäen myös ruutu+ videoiden lataus), ilman että tukeudutaan lainkaan nettisivuihin...
Syy miksi Ruudusta ei FF:llä saa mitään, löytyy kun avaa loki-ikkunan FF:n pääikkunan pika-asetusvalikon "Näytä loki" nappulalla, ja valitsemalla Lokin asetuksista "Näytä sisäiset poikkeukset".
"The request was aborted: Could not create SSL/TLS secure channel."
Ainoa tapa Ruudun toimintaan saattamiseen on käyttää TLS 1.2:sta, jota .NET Framework 4.0 ei tue. Ja kun siirrytään .NET 4.5:n, putoaa WinXP yhteensopivuus. Valitan...
Kuinkahan moni vielä käyttää XP:tä, eikös voisi vain tukea uudempiä käyttiksiä?
Lue vanhoja viestejä. Väärä hälytys, virustotal.com jne.
No autetaan, tarkista tiedostot > VirusTotalKatoin pari sivua taaksepäin ja siinä mentiin jo useampi kuukausi niin ajattelin mainita.
No autetaan, tarkista tiedostot > VirusTotal
Ja joo, aika ajoin, jo vuosia, Defender löytää jotain. Logiikasta on vaikea sanoa, kun vaikkapa sama Defenderin versio ei toisella löydä mitään, ja toisella muka löytää. Ovat ns. vääriä hälytyksiä, jonka voit em. linkissä käydä itse tarkistuttamassa päälle 60 virustutkan avulla.
En tiedä miten FF asian hoitaa mutta aiemmin, ennen Ruudun nettisivujen muutosta, oli helpointa hakea videon esim. nimi ja pituustieto html-sivusta, nyt se on muuttunut, kuten myös hieman on muuttunut se xml-tiedosto josta saadaan se latauslinkki playlistille (ja jossa paljon metatietoa). Mitä itse tutkin hätäisesti niin nyt on nimitiedon hakeminen erittäin vaikeaa html-tiedostosta (varsinkin sarjojen kohdalla), xml:stä sen saa mutta hankalemmin kuin aikaisemmin html:stä (nimitiedoissa mukana aikaleimoja vaihtelevin tavoin). Xml:stä taas ei helposti saa sarjan jaksojen nimiä. Eli selvästi hankalammaksi meni metatietojen hakeminen muutosten takia. Videopalasten playlist ei ole muuttunut eikä URLit joten varmasti pelkkä videon lataus onnistuu, sille pitäisi vain saada metatietoja Ruudun sotkuista.Mutta video ladataan aivan samalla tavalla kuin ennenkin, urlin perusteella. Minähän en tietenkään tiedä miten FlickFetch asian hoitaa.
Sinulle ja muille jotka käyttävät skriptiäsi; lataus tehdään FFmpegillä ilman mitään virhetilanteiden tsekkausta, eli kuten aiemmin FlickFetchkin lataukset tehtiin. Joku aika sitten darxide lisäsi virheentunnistusta FFmpeg-latauksiin ja sitä kautta FlickFetch on turvallisempi käyttää lataukseen (jos FFmpeg latauksessa tulee virhe, aloitetaan videon lataus alusta). Miksi? Tästä on aiemmin puhuttu tässä topikissa. Syy on siinä, että FFmpeg lataa "live-stream"-tyyppisesti niitä videopalasia siltä videoplaylistalta ja jos esim. lataajan nettiyhteydessä tai serverin puolella on jotain lyhytaikaista häikkää, FFmpeg saattaa jättää lataamatta jonkun videopalasen ja vain siirtyy seuraavan palasen lataukseen, mistä seuraa se, että lopullisessa videossa tuolla kohtaa on katkos (palasten koko yleensä 10 sekuntia). Paras olisi heivata FFmpeg mäkeen latausten osalta ja tehdä lataukset niin, että yksittäiset videopalaset ladataan erikseen ja lopuksi ne yhdistettäisiin. Tällöin virhetilanteet ovat paremmin hallittavissa ja latauksia ei tarvitsisi aloittaa alusta jos virhettä pukkaa jonkun palasen kohdalla väliaikaisesti.Mielestäni ei ole ruudun päässä mikään muuttunut. Ainakin pikku skriptini toimii kuten ennenkin:
https://drive.google.com/open?id=1YVOBE_Z86dfci3FqYrToDlkxpYytGRLt
Webisivua oli tarpeen katsella siinä vaiheessa kun ei vielä tiedetty, mistä sen xml-tiedoston saa. Nyt se jo tiedetään. Edelleenkin pätevä resepti löytyy tämän ketjun viestistä #17. Ja xml-tiedoston jäsentämiseen on välineitä. En ole pohtinut sarja- ja jaksotietojen esiinkaivamista, eivät ole minulle tärkeitä. Mutta title ja playlistin url löytyvät helposti.En tiedä miten FF asian hoitaa mutta aiemmin, ennen Ruudun nettisivujen muutosta, oli helpointa hakea videon esim. nimi ja pituustieto html-sivusta, nyt se on muuttunut, kuten myös hieman on muuttunut se xml-tiedosto josta saadaan se latauslinkki playlistille (ja jossa paljon metatietoa).
<variable name="program_name" value="Kummeli esittää: Kontio & Parmas - Kausi 1 - Jakso 5 - 2018-06-22T05:59 - Kummeli esittää: Kontio & Parmas"/>
<variable name="program_name" value="Elokuva: Rölli ja metsänhenki (S) 30.03.2018 12:15 - 2017-08-26T16:55"/>
<Program program_name="Kummeli esittää: Kontio & Parmas - Kausi 1 - Jakso 5" episode_name="13.10.2018 22:00" start_time="13.10.2018 22:00" episode_duration="3600" description="Kausi 1. Jakso 5/10. Teatterin kummitus. Vanhassa ja arvokkaassa taidelaitoksessa tapahtuu kummia. Onko vanhan diivan kuoleman takana sittenkin murha. Yliluonnolliset voimat hallitsevat Koskissa. Vierailevina näyttelijöinä Jonna Järnefelt, Riku Suokas, Milla Puolakanaho sekä Kaisa Hela. Kotimainen viihdeohjelma. (41')"/>
<Program program_name="Elokuva: Rölli ja metsänhenki (S) 30.03.2018 12:15" episode_name="30.03.2018 12:15" start_time="30.03.2018 12:15" episode_duration="6600" description="(Rölli ja metsänhenki 2001). Toisessa Rölli-satuelokuvassa röllit valtaavat rauhaa rakastavien menninkäisten kylän. Sisuuntuneet menninkäiset ryhtyvät sotaan röllejä vastaan, mutta Röllin ja menninkäistyttö Millin välille syntyvä ystävyys auttaa ratkaisemaan ongelmatilanteen. Elokuva voitti Jussi-palkinnot parhaasta kuvauksesta, parhaasta lavastuksesta ja parhaasta puvustuksesta. Pääosissa: Allu Tuppurainen, Maria Järvenhelmi, Peter Franzén, Kari Hietalahti, Jussi Lampi. Ohjaus: Olli Saarela (87')"/>
Molemmissa esimerkkitapauksissasi on kuitenkin attribuutin program_name arvona merkkijono, joka on ohjelmallisesti muokattavissa videotiedoston yksilölliseksi nimeksi, vieläpä niin, että nimi aika paljon muistuttaa ohjelman otsikkoa. Enempään ei kannata imurointivaiheessa pyrkiä. Voit sitten jälkeenpäin itse nimetä tiedostot paremmin, ja ryhmitellä ne miten lystäät.XML:n parsetus ei ole mikään ongelma, ongelma on se miten ruutu sitä tietoa siellä esittää. Kannattaa vilaista esim. jollain leffalla ja sitten jollain sarjan episodilla kuinka sekavaa heidän metadata on. Tässä muutama esimerkki:
Molemmissa esimerkkitapauksissasi on kuitenkin attribuutin program_name arvona merkkijono, joka on ohjelmallisesti muokattavissa videotiedoston yksilölliseksi nimeksi, vieläpä niin, että nimi aika paljon muistuttaa ohjelman otsikkoa. Enempään ei kannata imurointivaiheessa pyrkiä. Voit sitten jälkeenpäin itse nimetä tiedostot paremmin, ja ryhmitellä ne miten lystäät.
Ei pidä olla noin herkkänahkainen. En tietääkseni ole kritisoinut FlickFetchiä, ja luulen hyvin ymmärtäväni sen tarkoituksen. Enkä ole tarjoamassa yksinkertaisia skriptejäni FlickFetchin korvaajaksi, vaan vaihtoehdoksi niille, joille yksinkertaisempi vaihtoehto riittää, tai jotka syystä tai toisesta haluavat tietää miten se imurointi teknisesti tapahtuu. Ja ne python-skriptit toimivat sellaisenaan windowsin lisäksi ainakin linuxissa, ja luultavasti pienellä muokkauksella myös macos:ssa. Ja ovat avointa koodia. Mutta anteeksi häiriö.Mutta kun se ei ole tässä se pointti. Niinkun itse tiedät noiden skriptien tekijänä, että itse lataushommaan ei kamalasti koodirivejä kulu. Kaikilla käyttäjillä ei ole mitään kriteerejä miten tiedostot nimetään, toisilla taas kaikki pitää nimi saada hiottua viimeisen päälle oikeaksi ja yhdenmukaiseksi kansiorakennetta myöten, ja saada ladattua kerralla kymmenen kautta sarjaa loogisesti järjesteltyinä omiin kansioihinsa esikatselukuvineen ja kuvausteksteineen, sekä mahdollisesti useammankielisillä tekstityksillä. FF on juuri tuolle jälkimmäiselle ryhmälle. Onko se haitta että ohjelmia on eri tarpeisiin? Mikäli ei tarvitse mitään ylimääräistä, voi hyvin käyttää skriptiä jolla tiedoston saa itselleen. Tottakai FF:n tapauksessa on huomattavasti työläämpi pitää ohjelma toimintakunnossa ja toimimattomuutta esiintyy aina kun sivustoja muutetaan. Mutta se on se hinta, eikä kukaan pakota FF:ää käyttämään. On silti väärin sanoa että FF tekee asioita turhaan vain siksi että itselle ei ominaisuuksilla ole käyttöä.
Myönnän toki että FF on aika virhealttiisti rakennettu monesta syystä: alunperin se oli yksinkertainen ohjelma jolla sai ladattua tiedoston. Ominaisuuksia on jälkeenpäin lisätty suhteellisen iso määrä koska se pelkkä tiedoston lataus ei itselle riittänyt. Eikä niitä lisäyksiä tehty etenkään alkuvaiheessa kovin järkevällä koodaustavalla (FF oli ensimmäinen ohjelmointiprojekti Windowsille). Jos FF:n uudelleen tekisin (en tee!), muuttaisin aika monta asiaa (suurimman osan). Mutta tällä nyt mennään, ja yritän sen pitää kasassa parhaani mukaan ja korjailen kun ehdin.
Ei pidä olla noin herkkänahkainen. En tietääkseni ole kritisoinut FlickFetchiä, ja luulen hyvin ymmärtäväni sen tarkoituksen. Enkä ole tarjoamassa yksinkertaisia skriptejäni FlickFetchin korvaajaksi, vaan vaihtoehdoksi niille, joille yksinkertaisempi vaihtoehto riittää, tai jotka syystä tai toisesta haluavat tietää miten se imurointi teknisesti tapahtuu. Ja ne python-skriptit toimivat sellaisenaan windowsin lisäksi ainakin linuxissa, ja luultavasti pienellä muokkauksella myös macos:ssa. Ja ovat avointa koodia. Mutta anteeksi häiriö.
using Newtonsoft.Json.Linq;
string source = GetSourceCode(@"https://www.ruutu.fi/video/3251015");
Regex r = new Regex("(<!\\[CDATA\\[)(.*)(\\]\\]></script>)");
string result = r.Match(source).Groups[2].Value;
result = result.Replace(""", "\"");
result = result.Replace("&", "&");
result = result.Replace("'", "'");
result = result.Replace("\\\\\"", "\\\"");
Regex r2 = new Regex("(\"json\":\")(.*)(\"}},\"userrole)");
string result2 = r2.Match(result).Groups[2].Value;
JToken json = JObject.Parse(result2);
{
"id": 2600,
"uuid": "f0a41e28-f6c1-57a1-a3ab-d29b294ed9f4",
"type": "Page",
"metadata": {
"title": "3 - Paljastuksia",
"meta": [
{
"name": "description",
"content": "Kausi 1. Jakso 3/10. Paljastuksia. Pyöräkorjaaja Sumelius hämmentää mieliä ja koko Valkeakoski odottaa kauheita paljastuksia. Vierailevina näyttelijöinä Karoliina Blackburn ja Jarkko Pajunen. Kotimainen viihdeohjelma. (41')"
},
{
"property": "og:description",
"content": "Kausi 1. Jakso 3/10. Paljastuksia. Pyöräkorjaaja Sumelius hämmentää mieliä ja koko Valkeakoski odottaa kauheita paljastuksia. Vierailevina näyttelijöinä Karoliina Blackburn ja Jarkko Pajunen. Kotimainen viihdeohjelma. (41')"
},
{
"property": "og:title",
"content": "3 - Paljastuksia"
},
{
"property": "og:type",
"content": "video.episode"
},
{
"property": "og:image",
"content": "https://static.nelonenmedia.fi/xb/styles/2560x1440/public/img/e03c4b7079c64c9d27194cb3cf5a8a0e1966eeb9-3228023-3228023_04.jpg"
},
---- CUT ------
"partOfSeries": {
"@type": "TVSeries",
"name": "Kummeli esittää: Kontio & Parmas"
}
---- CUT ------
"episodeNumber" -
Mistä on kyse..? Tapaan maanantaisin ladata koneelleni FlickFetchillä listalle tallentamani ohjelmat. Nyt etsi uudet toiminto ei löydä ainuttakaan uutta ohjelmaa, vaikka niitä oikeasti on Areenalle tullut useampia. FF on päivitetty. Mistä kyse?
Aiotko myös tehdä ? Siis päivittää ruuttuus.bat:n taas hakemaan nuo nimet ?...
Itse tekisin niin,
...
Siellä on sitten myös "episodeNumber" ja "seasonNumber" myös.
Itse tekisin niin, että jos "partOfSeries":iä ei löydy niin sitten on kyseessä leffa ja pelkkä "og:title" riittää nimeksi.
Jos sarja niin varautuisin ruutuapinoiden jatkosotkuihin niin, että tarkastaisin "og:title":n onko sen alussa
Koodi:"episodeNumber" -
stringiä, ja sen jälkeen koko nimi tulisi "TVSeries" - "seasonNumber" - "og:title" rimpsulla (tai "TVSeries" - "seasonNumber" - "episodeNumber" - "og:title" jos jaksonumero puuttuu).
Pituustiedon joutuu hakemaan xml:stä. Html:n "duration":iin ei voi luottaa, siinä näyttää olevan (mahdolliset) mainokset laskettu mukaan. Itse en lähtisi parsettamaan "description":sta yhtään mitään kun kerran selväksi on tullut, että ruudulla ei ole metadatojen määrittelyä tehty ollenkaan ja toteutuskin on aivan mitä sattuu ja vaihtelee eri videoiden kanssa.
EDIT: Tai sitten hakee kaikki xml:stä, paitsi "og:title":n html:stä. Näyttää siltä, että xml on ollut paremmin turvassa muutoksilta.
Ruudun ohjelmalistahakuihin en vielä kerennyt perehtymään, mutta nekin taitaa mennä uusiksi kun vanhaa osoitetta mistä tiedot haettiin ei enää löydy...
Kyllä Areenasta nyt näyttää latautuvan ihan normaalisti (Edit: siis vanhalla FF:llä).Näyttäisi olevan Areenassa sama vitsaus kun Ruudussa, ks. viesti #1270.
Kyllä Areenasta nyt näyttää latautuvan ihan normaalisti.
flickfetch.bplaced.net/dl/flickfetch_beta_4.1.0.0.zip
Betaa voi kokeilla jos tarttee saada ladattua. Ruudun ja Areenan lataukset (tiettävästi) korjattu. Tosin Ruudun jaksolistat eikä siten myöskään ohjelmalista vielä toimi. Vaatii .NET 4.5:n entisen 4.0:n sijaan.
Ehdottaisin että käännät ohjelman vaatimaan vähintään frameworkin versiota 4.6.1. TLS 1.2 on defaulttina vasta versiosta 4.6 alkaen, 4.5 versiossa se on valinnainen. 4.6.1 on nykyisen Visual Studion oletus, lisäksi se on vanhin framework joka ei enää toimi Vistassakaan, mikä on niille muutamille tyhmeliineille ihan oikein. Version 4.5 ainoa etu on, että jollain saattaa olla päivittämätön Windows 8, siinä se on vakiona. Kymppeihin 4.6.1 tuli kolme vuotta sitten. Ja nykyinen siis on 4.7.2.
Ainakin Areenan TV- ja radio-ohjelmat löytyvät ja latautuvat kuten pitää. Kiitos jälleen.flickfetch.bplaced.net/dl/flickfetch_beta_4.1.0.0.zip
Betaa voi kokeilla jos tarttee saada ladattua. Ruudun ja Areenan lataukset (tiettävästi) korjattu. Tosin Ruudun jaksolistat eikä siten myöskään ohjelmalista vielä toimi. Vaatii .NET 4.5:n entisen 4.0:n sijaan.
flickfetch.bplaced.net/dl/flickfetch_beta_4.1.0.0.zip
Betaa voi kokeilla jos tarttee saada ladattua. Ruudun ja Areenan lataukset (tiettävästi) korjattu. Tosin Ruudun jaksolistat eikä siten myöskään ohjelmalista vielä toimi. Vaatii .NET 4.5:n entisen 4.0:n sijaan.
Ensinnäkin iso kiitos beta-versiosta! Huomasin kumminkin kummallisen epäkohdan Ruudun kohdalla. Jos laittaa lataajaksi HDSDumpin niin ilmoittaa ettei latauslinkkejä löydy, mutta FFMPEG:llä lataa mukavasti. Onko ongelma Ruudussa vai FlickFetchissä?
Näinhän se taitaa olla. Muistelisin että asiasta on joskus aiemminkin keskusteltu, mutta en löytänyt juttuja aiheesta.Ruutu ei taida enää tukea HDSDumppia lainkaan. Se vaihtoehto pitäisi melkein poistaa jos näin on..