¯\_(ツ)_/¯ . (ノ^_^)ノ . ๏[-ิ_•ิ]๏ . (✿◕‿◕✿) . ლ(ʘ‿ʘლ) . ʕ •ᴥ•ʔ . (^_^ '') . [^._.^]ノ彡 . (*◦‿-) . (☉_☉) . (-‿◦☀) . (⊙ω⊙) . \|°▿°|/ . (●°u°●)​ . ʕ⁎̯͡⁎ʔ༄ . ヾ(⌐■_■)ノ♪ . ┌∩┐(◣_◢)┌∩┐


Vous n'êtes pas connecté. Connectez-vous ou enregistrez-vous

Tuto raté : Comment faire un Makelist

Aller à la page : 1, 2  Suivant

Poster un nouveau sujet  Répondre au sujet

Voir le sujet précédent Voir le sujet suivant Aller en bas  Message [Page 1 sur 2]

jujuuj

avatar
Mago
Mago
LSP : Comment faire un Makelist



Dernière édition par jujuuj le Dim 16 Avr - 23:24, édité 2 fois

Voir le profil de l'utilisateur http://tvlaf.fantastique.tv

jujuuj

avatar
Mago
Mago
bon alors ...

une méthode simple pour faire un makelist ...   pfiouuuuuuuuuu


///////
Leçon 1
///////

déjà on va prendre des flux faciles à lire et à trouver ... donc pas du sport, pas du direct, plutot des vieilles vidéos ...

on cherche un site. Et plutot que de prendre la page d'entrée, on va directement aller sur une page de catégorie, et pourquoi pas appliquer un filtre (par date ou autre), et aussi on va aller en page 2 de cette catégorie afin de savoir comment elles sont numérotées dans l'adresse (car la page 1 peut avoir une adresse raccourcie)
voila on est maintenant sur une page "quelconque" du site, et on en profite pour regarder la construction de l'adresse

supposons que je choisisse cette page   : catégorie 3D, page 2, filtre=best
j'observe l'adresse :

http://www.XXXXXXX.com/category/3d?filter[order_by]=popular&filter[published][min]=&filter[quality]=&filter[advertiser_site]=&filter[tag_list][orientation]=&page=2

je supprime l'inutile, reste :
http://www.XXXXXXX.com/category/3dx?filter[order_by]=popular&page=2
(vérifier si cette adresse fonctionne dans le navigateur ...)

penser à modifier les caractères "interdits" dans LPS :  pas de & tout seul dans LSP !
http://www.XXXXXXX.com/category/3d?filter[order_by]=popular&page=2

Maintenant qu'on sait comment apparait l'info page 2, on peut repasser à la page 1, qui devrait fonctionner avec la meme structure d'adresse :
http://www.XXXXXXX.com/category/3d?filter[order_by]=popular&page=1
... ... (autre exemple de <page> classique : <page>http://www.zzzz.com/action/page1</page>)

Ok Maintenant on s'apprete à passer des heures à se creuser le cerveau à faire un makelist ... Mais avant ça on va vérifier que déjà on arrive à trouver dans cette page un lien d'une video et à le lire (ça évitera de faire tout le makelist et de se retrouver bloqué à la fin).

Donc, on va regarder le nom de la premiere video/film de la page, puis on va s'intéresser au code source de cette page (CTRL+U , sur firefox)
pour gagner du temps et pas lire tout le code source, on va essayer de trouver le titre du premier film (petite recherche (ctrl+F) sur un mot du titre) et si on a de la chance(*) on arrive au bon endroit du code.  [ (*) autres ctrl+F classiques : sur les expressions .m3u8  embed  url= ]
on lit un peu ce qu'il y a autour de ceci et (l'expérience aidant ...) on trouve LE lien (soit vers le film, soit plus probablement vers la page  disons "de présentation" du film).

donc, soit on copie le lien (si c'est le flux) , soit on clique (directement dans le code source) sur le lien souligné pour ouvrir le code source de la page du film ; et dans ce dernier on cherche (pareil) le lien (du flux).  En gros faut fouiller, t'as compris ...
[on peut revenir au code source précédent en appuyant sur DEL  (pour certains navigateurs )]

bref voila on a notre lien (du film/de la video) donc on va le tester  (et si ça marche, alors OUI on se lancera dans le makelist ...)
pour le tester, on peut soit créer un item et utiliser LSP, mais le plus simple reste encore d'ouvrir VLC et d'un CTRL+V  (puis enter;)) on colle et lance l'ouverture du lien.

ça lit ? Cool on continue alors ...

On va créer l'item qui correspond à cette video
on va pas faire n'importe quoi parce qu'on veut un item générique qui marchera pour les autres vidéos aussi
donc on peut pas faire un item genre "ouvre le lien http://S1.YYYYY.yy/ERGHRBHSHIORJHIvorej543252325.m3u8" ... On va plutot faire un item genre "va chercher le lien qui est dans le code source de la page http://www.XXXXXXX.com/category/3dx?filter[order_by]=popular&page=1  entre TELLE et TELLE séquences de caractères ; "copies-en l'adresse et ouvre le"
[et là on commence à comprendre tout l'intérêt de LSP ...]

"va chercher va chercher ..." t'es mignon mais comment ?

et oui c'est bien la question ... question compliquée, mais ce qui est bien c'est que la réponse tient en une ligne : la ligne
<expres>patati(.*?)patata</expres>
ce qui veut dire que c'est entre les deux balises <expres> qu'on va "expliquer" à LSP  où chercher dans le code source, et aussi quoi chercher ...

Vous expliquer comment construire un expres dans ce tuto, c'est juste illusoire ... il faut pratiquer, trouver des exemples et chercher à comprendre leur construction en les comparant au code source de la page
mais je vous explique quand même le principe :

dans le code source on trouvera par exemple ce texte (parmi le code) ... ulr="http://videoserveur/lefilmquetucherche.m3u8" image=" ...
et bien dans l'expres on dira a lsp :  
où =  apres la série de carac  ulr="  et  avant le " imag    suivant.
quoi = tous les caractères
ce qui donnera : <expres>ulr="(.*?)" imag</expres>

précisons ce que signifie le (.*?)  
en fait les ( )  marquent la limite de ce que LSP doit retenir comme parametre (ici l'adresse du flux video)
quant au .*?  il signifie "tous les caractères".

on aurait aussi pu imposer des caratéristiques supplémentaires, par exemple "le lien doit commencer par http://  ET  se finir par m3u8
ce qui donne : <expres>ulr="(http:\/\/.*?m3u8)" ima</expres>      

ou encore on pouvait lui dire de retenir tous les caractères jusqu' au prochain " (non inclus)
ce qui donnait <expres>ulr="([^"]+)</expres>
ici le [^"] permet à LSP de savoir où s'arrête l'adresse (on lui interdit en fait de retenir le caractère " dans sa sélection, du coup il stoppe juste avant).

bref , plein de façon de construire un expres , mais toujours la même logique : indiquer à LSP où chercher (= entre quoi et quoi) , et quoi chercher par exemple (.*?)

Pour comprendre l'expres il y a un seul secret, le voici : regex101.com  qui permet de tester votre expres !
champ 1 : votre expres
champ 2 : (copier)/collé du code source

Remarque : Ne faites pas l'impasse sur regex101, ou vous êtes mort ...


Finalement, vous aurez :

<item>
<title>mon film</title>
<link>$doregex[va-chercher-le-lien]</link>

<regex>
<name>va-chercher-le-lien</name>
<expres>url="(.*?)" ima</expres>
<page>http://www.XXXXXXX.com/category/3d?filter[order_by]=popular&amp;page=1<page>
</regex>

</item>

(bien sûr ya des items plus compliqués, surtout à cause de protections)  

! notez le <page> qui suit TOUJOURS l'expres et informe LSP de l'adresse de la page web dont il doit lire le code source.

! notez enfin que l'adresse du flux (http://S1.YYYYY.yy/ERGHRBHSHIORJHIvorej543252325.m3u8 dans l'exemple) n'aparait pas dans l'item créé ...
donc je "considère" qu'on a créé un item "générique" qu'on peut reproduire à l'infini
et je "dis" q c'est "un lien dynamique"  car LSP va récupérer l'adresse "du moment" en se basant sur les balises de l'expres

Conclusion :

En fait, on a fait quoi ?

on a réussi à construire un expres simple qui va trouver 1 paramètre
et, on a construit 1 item avec 1 regex qui ouvre 1 film

Pour le makelist, on voudra (bien sûr) plusieurs films ... du coup notre expres ira trouver plusieurs paramètres.
non seulement les liens DES films, mais aussi les titres (et oui ça devient aussi une variable...)
... et en option des parametres liés à la thumb(image) ou encore le résumé, la durée etc etc

comme il y aura plusieurs paramêtres dans l'expres, logiquement on devrait trouver plusieurs fois des groupes deparenthèses ( )  (.*)  (...)
par exemple sous cette forme <expres>link="(.*?)" title="(.*?)" blabla thumb="(.*?)" blabla</expres>  


Voila ça c'était la leçon 1  de "Comment contruire un makelist"
... et oui, on ne fera jamais un makelist si on ne sait pas déjà faire un simple regex pour 1 lien (et donc écrire un expres)

Après, c'est de l'informatique ... ce qu'on fait 1 fois, on peut le faire 100 fois (pour 100 liens, pour ce qui nous intéresse)


Exercice 1 :

1 trouvez un site de video le plus vieux et pourri possible  (moins de protections)
2 placez vous sur une page de videoS  
3 cliquez sur une video pour ouvrir sa page propre
4 ouvrez le code source de cette page
5 copiez le dans regex101.com  (champ 2 en bas)
6 cherchez (en lisant) votre lien dans le code ET repérez bien les caractères autour
7 tentez d' écrire l'expres (champ 1 en haut)
utilisez les information colonne de droite  qui "décrivent" le fonctionnement de votre expres
8 quand vous "avez" l'expres, écrivez le regex

si vous êtes coincés au 7 ou 8 , demandez-moi (/nous) de l'aide
si vous êtes coincé au 6 changez de site web
si vous êtes coincé au 1 2 3 4 ou 5, allez vous faire voir Very Happy



Dernière édition par jujuuj le Ven 3 Mar - 15:12, édité 1 fois

Voir le profil de l'utilisateur http://tvlaf.fantastique.tv

jujuuj

avatar
Mago
Mago
infos complémentaires :
dans un expres, on remplace IMPERATIVEMENT :

& par &am p; (écrire amp; sans espace !!)
< par &l t; (écrire lt; sans espace !!)
( par \(
saut de ligne par \n

(liste à compléter ...)

Voir le profil de l'utilisateur http://tvlaf.fantastique.tv
Merci Merci milles fois

Voir le profil de l'utilisateur

5 Leçon 2 : Partir de l'item le Mer 15 Mar - 14:18

jujuuj

avatar
Mago
Mago
///////
Leçon 2
///////


Bon pour la leçon 2 , on va faire un peu de pratique. Je vous propose qu'on visite ce site : hXXps://livetvhd.net
On va dabord faire un item (d'une chaine).

Puis on fera un makelist pour 1 page = 1 pays (liste des chaines ET liens d'une page web) [leçon 3]
Puis on fera un makelist de l'ensemble des pages (tous les pays) de ce site web [leçon 4, si tout se passe bien ... on verra bien, je suis pas prof, moi ... Wink].


Alors voila l'item ; essayez de comprendre, et de créer l'item d'une autre chaine suivant l'exemple.
J'ai choisi une chaine bien pourrie/incompréhensible exprès ...
car le but n'est pas d'attirer les chasseurs de liens, mais bel et bien de les éduquer Very Happy :
ceci est un Tuto ...  Exclamation

item avec 1 regex en language Python
 
Code:

<item>
<title>  hXXps://livetvhd.net/api/video/al-hayat-live-streaming-en-direct  </title>
<thumbnail>https://static.livetvhd.net/thumbs/alhayat.jpg</thumbnail>
<link>$doregex[getUrl]</link>
<regex>
<name>getUrl</name>
<expres><![CDATA[#$pyFunction
import re
def GetLSProData(page_data,Cookie_Jar,m):
 stream=re.findall('"url": "(.*?)"',page_data)[0].replace('\/','/')
 return 'plugin://plugin.video.f4mTester/?streamtype=HLSRETRY&amp;name=Al Hayat&amp;iconImage=https://static.livetvhd.net/thumbs/alhayat.jpg&amp;url=' + stream
]]></expres>
<page>https://livetvhd.net/api/video/al-hayat-live-streaming-en-direct</page>
<referer>https://livetvhd.net/video/cinema</referer>
<accept>application/json, text/plain, */*</accept>
<cookieJar></cookieJar>
</regex>
</item>
 

exactement le même item et le même code (même démarche) mais tout en xml  
Ça implique la construction de 2 regex : getlink qui va chercher le lien "brut"  et cleanlink qui le "nettoie" (des \/ indésirables).
Code:

  
<item>
<title>https://livetvhd.net/api/video/france-2-live-streaming-en-direct</title>
<thumbnail>https://static.livetvhd.net/thumbs/alhayat.jpg</thumbnail>
<link>plugin://plugin.video.f4mTester/?streamtype=HLSRETRY&amp;iconImage=https://static.livetvhd.net/thumbs/alhayat.jpg&amp;name=alhayat&amp;url=$doregex[finalurl]</link>

<regex>
<name>finalurl</name>
<expres>$pyFunction:urllib.quote_plus('$doregex[rawurl]'.replace('\/','/'))</expres>
<page></page>
</regex>

<regex>
<name>rawurl</name>
<expres>"url": "(.*?)"</expres>
<page>https://livetvhd.net/api/video/france-2-live-streaming-en-direct</page>
<referer>https://livetvhd.net/video/cinema</referer>
<accept>application/json, text/plain, */*</accept>
<cookieJar></cookieJar>
</regex>
</item>

EDIT : J'ai changé de chaine, l'autre était offline ; j'ai aussi corrigé une erreur, mais chut

à noter que dans l' <expres> ci-dessus,
on retrouve exactement la même expression que dans (le premier item)  re.findall('"url": "(.*?)"',page_data)[0]

La leçon n'est pas sur le regex de l'item, mais sur le makelist ; donc je ne détaille pas davantage l'item. Mais l'idée, cest que tous les items seront pareils (dans ce site)
et du coup on va maintenant s'attacher à faire un makelist qui va reprendre la construction de l'item, mais qui ouvrira cette fois ci toute un liste de chaines

Concrètement,
on va devoir créer cette liste (de chaines ET liens) ;
on va se baser sur le code de l'item simple, mais on va remplacer "al-hayat" par un parametre variable [makelistTRUC.param1]
 
------------------
Exercice 2 :

Là j'ai pas trop le temps (quoi ? comment ça vous vous en foutez ?)
... Donc je vous laisse étudier le site, le code source et essayer un peu de votre coté ... (comme ça ça sera plus facile de me suivre après ...)
Essayez aussi de comprendre pourquoi (ET COMMENT) l'item en XML et l'item en python sont IDENTIQUES

et la prochaine fois, [SI L'ITEM FONCTIONNE] on s'attaque ensemble au makelist de  hXXps://livetvhd.net/video/bycountry/France

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

Si vous avez des questions ou si ça vous intéresse, voire si vous trépignez en attendant la suite, n'hésitez pas à laisser un mot ci dessous ... ça me motivera pour continuer ... Wink


EDIT : SUITE EN MESSAGE 15



Dernière édition par jujuuj le Dim 16 Avr - 22:36, édité 3 fois

Voir le profil de l'utilisateur http://tvlaf.fantastique.tv
jujuuj a écrit:

Si vous avez des questions ou si ça vous intéresse, voire si vous trépignez en attendant la suite, n'hésitez pas à laisser un mot ci dessous ... ça me motivera pour continuer ... Wink

bien sur Jujuuj, moi je m'interesse enormement aux lecons sur la makelist. j'aurais beaucoup de question à poser sous peu.
Merci

Voir le profil de l'utilisateur

jujuuj

avatar
Mago
Mago

Petite appartée ... je me suis piégé tout seul avec mon tuto Smile en fait mon 2ème item marche pas mais chut ... je vais arranger ça sous peu avant q vous vous en rendiez compte Wink (j'ai demandé de l'aide à un mec plus malin que moi)

Voir le profil de l'utilisateur http://tvlaf.fantastique.tv
Hello boss j'attends toujours la bonne deuxieme lecon. Merci d'avance.

voici aussi unautre site hxxps://wiiz.tv

Merci

Voir le profil de l'utilisateur

jujuuj

avatar
Mago
Mago
ça risque de trainer encore un peu ...

j'ai mal choisi l'exemple ... on dirait que mes items ne fonctionnent qu'à moitié, et pas sur toutes les versions de Kodi ...  du coup  va sans doute falloir changer de site.

et puis je travaille sur de nouveaux gros makelists ... ça me prend un temps fou. Sans parler des updates ...

je suis donc obligé de reporter ce tuto pharaonique ... Mais je ne t'  (vous) oublie pas

aridjana a écrit:
voici aussi unautre site hxxps://wiiz.tv

Merci



Code:

  <item>
<title>WIIZ.TV</title>
<link>$doregex[makelist]</link>
<regex>
<name>makelist</name>
<listrepeat><![CDATA[
<title>[COLOR lightblue][makelist.param2] [/COLOR]</title>
<link>$doregex[getUrl]</link>
<thumbnail>[makelist.param3]</thumbnail>
]]></listrepeat>
<expres>href="(.*?)".+title="(.*?)".+?src="(.*?)"</expres>
<page>$doregex[source]</page>
</regex>
<regex>
<name>source</name>
<expres><![CDATA[w3-container w3-border city"(?s)(.*?)</body]]></expres>
<page>http://www.wiiz.tv/direct.php</page>
<referer>http://www.wiiz.tv/</referer>
<cookieJar></cookieJar>
</regex>
<regex>
<name>getUrl</name>
<expres><![CDATA[#$pyFunction
import re,urllib
def GetLSProData(page_data,Cookie_Jar,m):
 f4m=re.search('src="(http.*8080.*?)\/embed.+?(token.*)',page_data)
 return 'plugin://plugin.video.f4mTester/?url=' + urllib.quote_plus(f4m.group(1) + '/manifest.f4m?' + f4m.group(2)) + '&name=[makelist.param2]&iconImage=[makelist.param3]|User-Agent=VLC\/2.2.1 LibVLC\/2.2.17'
]]></expres>
<page>[makelist.param1]</page>
<referer>http://www.wiiz.tv/direct.php</referer>
<cookieJar></cookieJar>
</regex>
<thumbnail></thumbnail>
</item>
 
(Remarque : il DOIT Y AVOIR a un espace au début des lignes commençant par " f4m=re" et " return" )

Pour le tuto, on va éviter Very Happy ce truc est hyper protégé et compliqué ...



Dernière édition par jujuuj le Mar 21 Mar - 15:05, édité 1 fois

Voir le profil de l'utilisateur http://tvlaf.fantastique.tv
Bonjour, j'ai une question

dans

Code:


<item>
<title>mon film</title>
<link>$doregex[va-chercher-le-lien]</link>

<regex>
<name>va-chercher-le-lien</name>
<expres>url="(.*?)" ima</expres>
<page>http://www.XXXXXXX.com/category/3d?filter[order_by]=popular&amp;page=1<page>
</regex>

</item>



quand est ce que dans <name>va-chercher-le-lien</name> et <link>$doregex[va-chercher-le-lien]</link>,on va mettre get-URL;getCode, etc... car je parviens de fois a trouver ce qu'il faut mettre dans <expres>url="(.*?)" ima</expres>, mais c'est partie haute du regec qui m'embette.

Merci

Voir le profil de l'utilisateur

jujuuj

avatar
Mago
Mago
aridjana a écrit:Bonjour, j'ai une question

dans

Code:


<item>
<title>mon film</title>
<link>$doregex[va-chercher-le-lien]</link>

<regex>
<name>va-chercher-le-lien</name>
<expres>url="(.*?)" ima</expres>
<page>http://www.XXXXXXX.com/category/3d?filter[order_by]=popular&page=1<page>
</regex>

</item>



quand est ce que dans <name>va-chercher-le-lien</name> et <link>$doregex[va-chercher-le-lien]</link>,on va mettre get-URL;getCode, etc... car je parviens de fois a trouver ce qu'il faut mettre dans <expres>url="(.*?)" ima</expres>, mais c'est partie haute du regec qui m'embette.

Merci

bah déja il faut savoir que le nom du regex n'a absolument aucune importance et ne change pas son fonctionnement ... donc le link peut dire getcode getlink vachercher ou bien schtroumpfette, ça ne change RIEN.

ensuite, la vraie question, c'est de savoir ce que ton <expres> va "enregistrer" :
si il s'agit du lien final (je veux dire par là le lien de la video qui peut s'ouvrir (tel quel) sous VLC) , ou bien si l'expres enregistrera un lien "intermédiaire" qui nous mènera au flux de la video.

dans le cas ou c'est le lien final que l'expres enregistre, et bien alors la ligne link ressemblera à ça  <link>[makelist.param2]</link>

petite variante du même cas: c le bon lien final mais il manque "un bout", alors on rajoutera le bout manquant ; ce qui donnera : <link>http://boutmanquant.fr/[makelist.param2]</link>

par contre ... en supposant que le [makelist.param2]  ne soit qu'un lien "intermédiaire" pointant vers une page intermédiaire, alors il nous faudra bien ouvrir cette page intermédiaire, en lire le code source et en extraire le lien final.

dans ce cas, la ligne link ressemblera à ça <link>$doregex[va-chercher-le-lien]</link>
ou bien <link>$doregex[get-url]</link> si c'est un anglais qui écrit .. Wink
Pour préciser la suite : on aura derrière un regex de <name>get-url</name> qui fouillera (lui) dans la page dite "intermédiaire" pour y trouver le lien final dans la <page>[makelist.param2]</page>

Il se peut aussi que le lien soit "presque" le lien final mais dans sa version "codée"
auquel cas il faudra passer par un regex pour "décoder" ce lien ... On aura alors quelquechose de ce genre : <link>$doregex[decode-url]</link>  ou encore clean-url escape-url  unquote-url  clean-link  nettoie-mon-lien , ou   lien-bien  ou gargamel ... (ce n'est qu'un nom ...)

voila ... donc en gros, à chaque fois que le lien que ton 1er expres capture n'est pas le lien final, alors on est bien obligé de passer par un autre regex qui lira le code source de la page intermédiaire pour en extraire le "bon" lien ...

si il y a plusieurs pages intermédiaires, du décodage, d'autres infos à chercher (token ou plein d'autres protections chiantes) ... et bin ... logiquement il y aura plein de regex différents à la suite dans notre makelist...

Pour savoir dans quel cas on se trouve, on utilise firefox , on cherche dans code source le lien et on le teste avec VLC. on peut aussi modifier les options de firefox afin d'empecher l'execution automatique de javascript, du coup la video ne se lance pas avant qu'on "autorise javascript" et du coup on puet utiliser dans firefox le clic droit/ ce cadre / ouvrir dans une autre fenetre, ou bien ce cadre/ code source du cadre ...)  on note les adresses de toutes les étapes depuis le portail du site jusqu'au lien final ... ça aidera à s'y retrouver ensuite pour faire l' item ... (et, toujours sous firefox, sur la page de la video, visitez Outil/ dévelopemment-web/ réseau ...)

Voir le profil de l'utilisateur http://tvlaf.fantastique.tv
Juste pour te dire merci

Voir le profil de l'utilisateur
jujuuj a écrit:
aridjana a écrit:Bonjour, j'ai une question

dans

Code:


<item>
<title>mon film</title>
<link>$doregex[va-chercher-le-lien]</link>

<regex>
<name>va-chercher-le-lien</name>
<expres>url="(.*?)" ima</expres>
<page>http://www.XXXXXXX.com/category/3d?filter[order_by]=popular&page=1<page>
</regex>

</item>



quand est ce que dans <name>va-chercher-le-lien</name> et <link>$doregex[va-chercher-le-lien]</link>,on va mettre get-URL;getCode, etc... car je parviens de fois a trouver ce qu'il faut mettre dans <expres>url="(.*?)" ima</expres>, mais c'est partie haute du regec qui m'embette.

Merci

bah déja il faut savoir que le nom du regex n'a absolument aucune importance et ne change pas son fonctionnement ... donc le link peut dire getcode getlink vachercher ou bien schtroumpfette, ça ne change RIEN.

ensuite, la vraie question, c'est de savoir ce que ton <expres> va "enregistrer" :
si il s'agit du lien final (je veux dire par là le lien de la video qui peut s'ouvrir (tel quel) sous VLC) , ou bien si l'expres enregistrera un lien "intermédiaire" qui nous mènera au flux de la video.

dans le cas ou c'est le lien final que l'expres enregistre, et bien alors la ligne link ressemblera à ça  <link>[makelist.param2]</link>

petite variante du même cas: c le bon lien final mais il manque "un bout", alors on rajoutera le bout manquant ; ce qui donnera : <link>http://boutmanquant.fr/[makelist.param2]</link>

par contre ... en supposant que le [makelist.param2]  ne soit qu'un lien "intermédiaire" pointant vers une page intermédiaire, alors il nous faudra bien ouvrir cette page intermédiaire, en lire le code source et en extraire le lien final.

dans ce cas, la ligne link ressemblera à ça <link>$doregex[va-chercher-le-lien]</link>
ou bien <link>$doregex[get-url]</link> si c'est un anglais qui écrit .. Wink
Pour préciser la suite : on aura derrière un regex de <name>get-url</name> qui fouillera (lui) dans la page dite "intermédiaire" pour y trouver le lien final dans la <page>[makelist.param2]</page>

Il se peut aussi que le lien soit "presque" le lien final mais dans sa version "codée"
auquel cas il faudra passer par un regex pour "décoder" ce lien ... On aura alors quelquechose de ce genre : <link>$doregex[decode-url]</link>  ou encore clean-url escape-url  unquote-url  clean-link  nettoie-mon-lien , ou   lien-bien  ou gargamel ... (ce n'est qu'un nom ...)

voila ... donc en gros, à chaque fois que le lien que ton 1er expres capture n'est pas le lien final, alors on est bien obligé de passer par un autre regex qui lira le code source de la page intermédiaire pour en extraire le "bon" lien ...

si il y a plusieurs pages intermédiaires, du décodage, d'autres infos à chercher (token ou plein d'autres protections chiantes) ... et bin ... logiquement il y aura plein de regex différents à la suite dans notre makelist...

Pour savoir dans quel cas on se trouve, on utilise firefox , on cherche dans code source le lien et on le teste avec VLC. on peut aussi modifier les options de firefox afin d'empecher l'execution automatique de javascript, du coup la video ne se lance pas avant qu'on "autorise javascript" et du coup on puet utiliser dans firefox le clic droit/ ce cadre / ouvrir dans une autre fenetre, ou bien ce cadre/ code source du cadre ...)  on note les adresses de toutes les étapes depuis le portail du site jusqu'au lien final ... ça aidera à s'y retrouver ensuite pour faire l' item ...  (et, toujours sous firefox, sur la page de la video, visitez Outil/ dévelopemment-web/ réseau ...)

Bonjour et désolé de t’embêter encore une fois. Dans le cas d'un REGEX simple et non un makelist, peux tu me redonner les memes explications de ce qu'on doit mettre dans <link></link>
Car si je te comprend bien, s'il s'agit d'un lien final qu'on joue sur VLC on peut mettre $doregex[get-URL] ou $doregex[finalurl]

Merci d'avance

Voir le profil de l'utilisateur

jujuuj

avatar
Mago
Mago
oui, tu as compris.

on aura :

<item>
<title>exemple</title>
<link>$doregex[lien-final]</link>

<regex>
<name>lien-final</name>
<expres>ICI</expres>
<page>ICI</page>
</regex>

</item>

Voir le profil de l'utilisateur http://tvlaf.fantastique.tv

jujuuj

avatar
Mago
Mago
///////
Leçon 3
///////

On repart de l'item,

pour faire le makelist.

___________________

l'item :
Code:

<item>
<title>OK BAZZ https://livetvhd.net/api/video/france-2-live-streaming-en-direct</title>
<thumbnail>https://static.livetvhd.net/thumbs/alhayat.jpg</thumbnail>
<link>plugin://plugin.video.f4mTester/?streamtype=HLSRETRY&amp;iconImage=https://static.livetvhd.net/thumbs/alhayat.jpg&amp;name=SALUT&amp;url=$doregex[cleanlink]</link>

<regex>
<name>cleanlink</name>
<expres>$pyFunction:urllib.quote_plus('$doregex[getlink]'.replace('\/','/'))</expres>
<page></page>
</regex>

<regex>
<name>getlink</name>
<expres>"url": "(.*?)"</expres>
<page>https://livetvhd.net/api/video/france-2-live-streaming-en-direct</page>
<referer>https://livetvhd.net/video/cinema</referer>
<accept>application/json, text/plain, */*</accept>
<cookieJar></cookieJar>
</regex>
</item>

l'idée : ya plusieurs chaines sur le site ...
donc on va faire un makelist qui ne propose pas (comme l'item) un titre une chaine et un logo, mais cette fois : plusieurs titres, plusieurs chaines ... et -HOP- je vire les logos/thumbs qui alourdissent le tuto inutilement ...

VOYONS DONC CE QUI VA CHANGER ... (et devenir des variables)




on a donc 3 choses qui changent : le nom (de la chaine), la page (web) spécifique de la chaine, et du coup ... le lien final (du flux, présent dans la page web spécifique à la chaine). ces troix choses qui changent, 3 variables seront 3 parametres (que nos regexs/makelists iront "chercher")

OK ... maintenant on va construire le makelist (=FAISuneLISTE)  
le résultat qu'on veut, c'est cette liste :

nom chaine 1  /  lien vers la page de la chaine 1
nom chaine 2  /  lien vers la page de la chaine 2
nom chaine 3  /  lien vers la page de la chaine 3
nom chaine 4  /  lien vers la page de la chaine 4
...

sur ces pages de chaines, on trouvera dans un DEUXIEME TEMPS les "vrais" liens finaux (les flux ... quoi ...)


le site, c'est  https://livetvhd.net/
mais on préfèrera (ou pas)
https://livetvhd.net/video/bycountry/France

sur cette page on a bien des noms de chaines et des liens (vers la page web de la chaine)
on va donc regarder son code source  avec ctrl+u  dans firefox ou chrome.

... Et là PAF ! mauvaise surprise ... les liens n'apparaissent pas : ils sont camouflés derrière
je ne sais quoi ... fin du tuto  Sad

Hé oui ça ne marche pas à chaque fois ...
du coup il va falloir trouver un autre site (plus simple) pour le tuto ...

Quant à ceux qui voulaient voir les autres chaines du site ...
et bin ils n'ont plus qu' à dupliquer l'item france2 en changeant les données ... DSL c'est la vie :s
ou alors demander de l'aide à de vrais geeks (genre tvaddons).

Pour ceux qui sont pas morts ni désespérés, on reprendra [edit : plus tard ...] ...
et du coup, dodo ...



Dernière édition par jujuuj le Sam 22 Avr - 20:01, édité 2 fois

Voir le profil de l'utilisateur http://tvlaf.fantastique.tv

jujuuj

avatar
Mago
Mago
DSL .. j'avoue ça m'a saoulé moi aussi ... cette histoire ...

Bon ... on verra bien .. j'essaierai de trouver ces
Code:
putain
de liens ...

Voir le profil de l'utilisateur http://tvlaf.fantastique.tv

jujuuj

avatar
Mago
Mago
HA HA ! on progresse !

les liens étaient bien cachés derrière une " api " en fait ...
ah les coquins ...
ils sont là :
https://livetvhd.net/api/videos/
https://livetvhd.net/api/videos/category/sportives
https://livetvhd.net/api/videos/country/France

du coup on va bientôt reprendre le tuto .. faudra q je pense à changer le titre ... lol

Voir le profil de l'utilisateur http://tvlaf.fantastique.tv
hahahaha parfait on attends Jujuuj.Merci d'avance. Juste une question comment as tu fait pour decouvrir les liens cachés car j'ai cherché en vain

Voir le profil de l'utilisateur

jujuuj

avatar
Mago
Mago
j'ai sorti ma baguette magique et j'ai demandé à un geek de tvaddons Wink

il m'a dit qu'on pouvait repérer le /api/ en utilisant firefox/ outils/ dév réseau ou dans le coin ...
et dans le code source on avait aussi l'indice ça disait googleapi quelque part ...

après j'ai trouvé certaines des adresses web par tatonement (le plus dure était de repérer le /api/ ...

Voir le profil de l'utilisateur http://tvlaf.fantastique.tv
je ne parviens pas a voir le api mme en utilisant ta methode avec firefox. outils puis developpement puis reseau. mais bon je vais essayer encore

Voir le profil de l'utilisateur

jujuuj

avatar
Mago
Mago
peut être avec l'inspecteur ? (jsaispô)

Voir le profil de l'utilisateur http://tvlaf.fantastique.tv
quelqu'un peut il m'aider avec ca SVP?
Code:
http://tv.sfr.fr/epg/maintenant/#sfrintid=P_nav_tvepg

Voir le profil de l'utilisateur

jujuuj

avatar
Mago
Mago
bin tu veux faire quoi ? récupérer les infos de l'epg ?

dans ce cas tu dois construire un regex[a-nommer] dont l'<expres> permet d'isoler les infos voulues (du code source) et dans le <title> ou les <info>de ton item, tu rajoutes la commande $doregex[a-nommer] qui va chercher le programme tv ...

mais tu aurais sans doute plus vite fait d'utiliser un epg existant ... ou bien le programme(tv) de ta box ...

Voir le profil de l'utilisateur http://tvlaf.fantastique.tv
récupérer les infos de l'epg et j'ai essayé de faire un regex mais j'arrive pas donc si quelqu'un pouvais m'aider?

Voir le profil de l'utilisateur

jujuuj

avatar
Mago
Mago
tu vas sur toolsp.forumactif.com, tu suis le lien regex101.dans regex101 champ du bas (grand) tu colles le code source de ta page web, dans le champ du haut (plus petit) tu colles le contenu de ton <expres> (meme si il marche pas) tu SAVEs le tout (dans regex101) et tu nous poses ici le lien qui correspond ...

et / ou
tu envoies ici ou MP ton item qu'on voit ce qui cloche (enfin j'espere qu'on trouvera ...)

Voir le profil de l'utilisateur http://tvlaf.fantastique.tv

Contenu sponsorisé


Voir le sujet précédent Voir le sujet suivant Revenir en haut  Message [Page 1 sur 2]

Aller à la page : 1, 2  Suivant

Poster un nouveau sujet  Répondre au sujet

Permission de ce forum:
Vous pouvez répondre aux sujets dans ce forum