FlickFetch

Toimii. :tup: 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.
Hieman täydensin skriptiä jotta se toimisi sellaisenaan myös ainakin Ubuntu-linuxissa. Jokuhan sellaistakin kyseli äskettäin.
 
Taas ei ruutu.fi toimi. Kontio&Parmas ei lataudu.

5 - Teatterin kummitus

Ilmoittelee, ettei videota löydy.
Sama ongelma, kuvakaappaus alla.
191018.png
 
Ruutupalvelu muuttanut sivujaan, videotietojen etsiminen sivun antamista tiedoista pitää muuttaa.
 
Jotain on kuitenkin eri tavalla, kun kaikki ruutu-urlit antavat 0/0 episodia, vaikka toimivat normaalisti selaimeen kopsattuna.
 
Hei vain. Olen uusi käyttäjä. Olen FlickFetchin käyttäjä. Olen ollut todella tyytyväinen ohjelmaan.
Eilen kumminkin huomasin ongelman, kun yritin ladata Ruudusta ohjelmia. Yhtäkään ohjelmaa ei voinut ladata vaikka niitä olisi voinut ilmaiseksi katsella.
upload_2018-10-20_11-42-26.png


Yllä loki kun yritin ladata tänään Napakympin uusinta jaksoa.
 
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ä.
 
Viimeksi muokattu:
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ä.

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...
 
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...
Minua kiinnostaa vain perusasia, videoiden lataaminen. Joka siis on ruudun tapauksessa hyvin yksinkertaista. Nettisivujen lisäinfon saan halutessani niiltä nettisivuilta.
 
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ä?
 
Kuinkahan moni vielä käyttää XP:tä, eikös voisi vain tukea uudempiä käyttiksiä?

Oli niitä joitain käyttäjiä jotka toivoivat tukea XP:lle. Toki tuetaan vanhoja niin kauan kuin se on helposti mahdollista (eihän siitä haittaakaan ole), mutta kuten sanottua, nyt varmaan tuki joudutaan pudottamaan.
 
Katoin 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. :tup:
 
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. :tup:

Tein tuon jo aiemmin, kuten sanoin ajattelin mainita asiasta :tup:
 
Mutta video ladataan aivan samalla tavalla kuin ennenkin, urlin perusteella. Minähän en tietenkään tiedä miten FlickFetch asian hoitaa.
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.
 
Mielestäni ei ole ruudun päässä mikään muuttunut. Ainakin pikku skriptini toimii kuten ennenkin:

https://drive.google.com/open?id=1YVOBE_Z86dfci3FqYrToDlkxpYytGRLt
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.
 
Ehkäpä se xp-tuki pitäisi tiputtaa pois tai tehdä erillinen flickfetch ruutu-xp ohjelma, jossei sen tekeminen olisi kovin vaikeaa tai aikaavievää.
 
XP-tuki pois, jos toiminta on siitä kiinni. Onhan XP jo aika perhanan vanha riippakivi. Jossain vaiheessa vaan aika tulee vastaan.
 
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).
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.

Mitä ffmpegin virhealttiuteen tulee, niin toistaiseksi en ole huomannut joutuneeni siitä kärsimään. Mutta onhan se riski todellinen, vaikkakin pieni, ja hyvä että FF on tässä varovainen.
 
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:

Koodi:
<variable name="program_name" value="Kummeli esittää: Kontio &amp; Parmas - Kausi 1 - Jakso 5 - 2018-06-22T05:59 - Kummeli esittää: Kontio &amp; Parmas"/>

Koodi:
<variable name="program_name" value="Elokuva: Rölli ja metsänhenki (S) 30.03.2018 12:15 - 2017-08-26T16:55"/>

Ja ainoa paikka mistä saa jakson nimen XML:stä (jos sellainen on, ja missä muodossa se on tekstin seassa.. hankalaa, aiemmin koko nimen sai helposti yhdestä kohtaa html:stä), ainakin muutamien testien perusteella, pointti on se, että on vaikea luottaa miten se tieto löytyy ruudun sotkuista eri videoiden kanssa:

Koodi:
<Program program_name="Kummeli esittää: Kontio &amp; 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')"/>

Koodi:
<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')"/>


Itsellä oli ainakin iso ongelma Ruutu-latausten kanssa FF:llä, koko ajan tuli virheitä, en tiedä mikä tilanne nyt on kun en ole FF:ää käyttänyt Ruutu-latauksiin.. sieltä muutenkaan mitään tahdo ikinä löytyä katseltavan arvoista, paria samaa leffaa pyörittävät "uutuutena" jatkuvasti, ja suurin osa oikeasti uusista on jo nähnyt vuosia sitten Viaplay/C More/Netflix-akselilta, ja tietenkin bondit, nehän pitää aina olla.
 
Viimeksi muokattu:
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.
 
Et nyt taida ajatella tätä darxiden/FlickFetchin, tai jonkun muun monien käyttäjien ohjelman kautta. Kuvaamasi ratkaisu ei vain ole käyttökelpoinen esim. FF:in tapauksessa. Itse en ainakaan kehtaisi julkaista ohjelmaa saatetekstillä "kikkailkaa itse ohjelman nimet ja kansiot kuntoon". :D
 
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.

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.
 
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ö.
 
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ö.

En mä ole herkkänahkanen enkä loukkaantunut. Eikä nyt kukaan loukkaannuta :) Selitin vain miksi FF tarvitsee lataukseen paljon muutakin kuin videon id:n. Toki jos FF olisi fiksummin tehty niin se lataisi videon vaikka ei saisi muita tietoja ja jättäisi nimeämisen ja tietojenkaivuun välistä. Mutta se ei nyt enää niin helposti vaan onnistu. Ja hieno juttu että on vaihtoehtoisia skriptejä, latasin ne itsekin.
 
Itseasiassa jakson nettisivulta löytyy kaikki tiedot jaksosta JSON-muodossa, huomattavasti paremmin kun XML-tiedostosta jossa ne on vähän miten sattuu. Tässäkin on hankaluus, Ruutu on vähän sössinyt JSON-tiedon upottamisen ohjelman html-koodin sekaan. Ensinnä &quot; täytyy korvata "-merkillä ja \\" -> \" (korvasin myös &amp; ja &#39; -merkit). Lisäksi siellä on alun turhan JSON-tiedoston "json"-tokenin alle laitettu kokonaan toinen JSON-tiedosto, josta siis jakson tiedot löytyy, siksi kaksi erillistä Regexiä (kenties pelkällä jälkimmäiselläkin pärjää).

Alla ote C# -koodista jolla JSON irtoaa:

Koodi:
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("&quot;", "\"");
result = result.Replace("&amp;", "&");
result = result.Replace("&#39;", "'");
result = result.Replace("\\\\\"", "\\\"");

Regex r2 = new Regex("(\"json\":\")(.*)(\"}},\"userrole)");
string result2 = r2.Match(result).Groups[2].Value;

JToken json = JObject.Parse(result2);

Eli tuo "json"-muuttuja pitää sisällään toimivan json-koodin (alla ihmisluettavassa muodossa), josta saa parsittua kaikki tiedot.

Koodi:
{
    "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 ------

Täytynee viritellä tuota FF:ään jahka kerkiää...
 
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.
 
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?
 
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?

Näyttäisi olevan Areenassa sama vitsaus kun Ruudussa, ks. viesti #1270.
 
XP-tuki pois näyttää hyvin todennäköiseltä. Jos näin paljon tulee ongelmia ni tuki pois ja XP-käyttäjät käyttää sitten vaihtoehtoisia tapoja ladata ohjelmia.
 
En osaa sanoa. Ehkäpä en. Ei se ole enää jakelussakaan. En muista milloin viimeksi olisin jotain katsomista ladannut sieltä joten tässä ajattelin tämän viimeaikaisen tapahtuman ja keskustelun perusteella kokeilla vielä miten ruutulataukset onnistuisi nyt FlickFetchillä (sitten kun darxide saa pätsit valmiiksi), kun on operaattorikin vaihtunut tässä. Aiemmin tuli itselle niin paljon virheitä ja FlickFetchissä ei vielä ollut "virheidentunnistusta ffmpeg-lataajan takia", että innostuin koodaamaan skriptiä. Ehkä tulevaisuudessa linuxin puolelle jotain koodausharjoituksena, paitsi jos FlickFetchin saa näppärästi toimimaan sillä alustalla (en ole selvittänyt asiaa vielä). FlickFetch kuitenkin monipuolisempi, varsinkin sarjojen kanssa, ja nykyään turvallinen ffmpeg-latauksien kanssa, että kyllä sitä mieluummin käyttäisi. Props darxide.
 
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.

Pidin uuden tietojen haun nyt mahdollisimman samana kuin ennen, ainoastaan tarvittavat haetaan uudesta JSONista. Eli sarjan nimi haetaan ensisijaisesti XML:stä (series_name), jos ei löydy niin haetaan JSONista (metadata|jsonld|partOfSeries|name), jos ei löydy niin XML:stä (program_name). Viimeisestä haettaessa poistetaan nimestä päiväykset ja "Elokuva: ". Lisäksi ohjelman kuva haetaan JSONista (metadata|jsonld|thumbnailUrl). Eli ei kovin suuria muutoksia.

Ruudun ohjelmalistahakuihin en vielä kerennyt perehtymään, mutta nekin taitaa mennä uusiksi kun vanhaa osoitetta mistä tiedot haettiin ei enää löydy...
 
Ruudun ohjelmalistahakuihin en vielä kerennyt perehtymään, mutta nekin taitaa mennä uusiksi kun vanhaa osoitetta mistä tiedot haettiin ei enää löydy...

Ei ne ainakaan yksinkertaisemmaksi mennyt. Saman Regexhaun kun tekee sarjan pääsivulle, irtoaa JSON josta saa seuraavaa:

Sarjan kuvaus:
components|0|content|items|0|description

ID (26004):
components|1|content|items|0|content|items|0|id

Kausien määrän:
components|1|content|items|1
components|1|content|items|2
components|1|content|items|3
...

Kauden nimen:
components|1|content|items|1|label|text

Kauden ID (3006746):
components|1|content|items|1|content|items|0|content|query|params|current_season_id

Sarjan ID (2268809):
components|1|content|items|1|content|items|0|content|query|params|current_series_id

Lopulta nämä syötetään seuraavaan osoitteeseen ja saadaan uusi JSON:
https: //prod-component-api.nm-services.nelonenmedia.fi/api/component/26004?offset=0&limit=12&current_season_id=3006746&current_series_id=2268809

Sieltä saadaan vihdoin kauden kaikkien jaksojen id:t:
items|0|id
items|1|id
items|2|id
...

Tosin kausi ja jaksonumeroita ei suoraan saa, vaan ne pitää parsia sieltä saatavasta description-kentästä. Toivotaan että niissä on yhdenmukainen tapa kaikissa sarjoissa.

-------------

Laitoin tän tähän lähinnä kiinnostuneille miten tiedot saadaan revittyä, mutta myös muillekkin tiedoksi että miten moni asia voi mennä pieleen kun sivustoa vähän muutetaan... :)
 
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.
 
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.

Totta, voisi olla ihan järkevää ottaa suht tuore versio. En oo yhtään tutkinukkaan noita, nappasin 4.5:n testiin kun se oli ensimmmäinen joka TLS 1.2 tuki.
 
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ä?
 
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ä?

Ruutu ei taida enää tukea HDSDumppia lainkaan. Se vaihtoehto pitäisi melkein poistaa jos näin on..
 
Ruutu ei taida enää tukea HDSDumppia lainkaan. Se vaihtoehto pitäisi melkein poistaa jos näin on..
Näinhän se taitaa olla. Muistelisin että asiasta on joskus aiemminkin keskusteltu, mutta en löytänyt juttuja aiheesta.
Mut hyvin tää beta-versio toimii.
 

Statistiikka

Viestiketjuista
259 434
Viestejä
4 512 104
Jäsenet
74 368
Uusin jäsen
ElZurjuZ

Hinta.fi

Back
Ylös Bottom