![]() |
Bienvenue invité ( Connexion | Inscription )
![]() |
![]()
Message
#1
|
|
![]() Macbidouilleur de bronze ! ![]() ![]() Groupe : Membres Messages : 391 Inscrit : 2 Jun 2006 Membre no 62 332 ![]() |
Bonjour,
Puisque maintenant je suis devenu un pro d'Applescript ( ![]() Code set lesParoles to (do shell script "curl " & quoted form of lyricWikiPageURL & "|grep \"'lyricbox'\"|sed -e \"s/<div class='.*lyricbox' >//g\"|sed -e's/<br \\/>/" & (ASCII character 13) & "/g'") Les paroles se trouvent bien dans une div dont la class est lyricbox. lyricWikiPageURL est la variable qui contient l'url de la page avec les paroles. Mais la variable lesParoles reste désespérément vide quoi que je fasse. Est-ce qu'un pro des commandes UNIX pourrait m'aider ? Merci d'avance. m00n -------------------- MacBook Pro (15-inch, Late 2016), 2,9 GHz Intel Core i7, 16 Go 2133 MHz LPDDR3
|
|
|
![]() |
![]()
Message
#2
|
|
Macbidouilleur de vermeil ! ![]() ![]() ![]() ![]() Groupe : Membres Messages : 879 Inscrit : 4 Apr 2004 Lieu : Lorraine - 54 Membre no 17 184 ![]() |
Es tu certain de n'avoir rien dans la variable issue de ton code ?
En utilisant ton code dans l'éditeur Applescript et après avoir déclaré la variable lyricWikiPageURL par une adresse valide, j'obtiens un résultat qui présente certes plusieurs problèmes mais qui n'est pas vide. J'ai en effet noté plusieurs erreurs dans la partie shell script de ta commande que j'ai corrigé ci-dessous: A noter que le résultat n'est pas directement lisible en fichier texte. En effet dans la variable retournée, chaque caractère est présenté en code HTML de la forme : Citation &#<code décimal>; Le résultat doit donc être soit lu avec un navigateur (qui procède automatiquement à son décodage) soit traité et correctement décodé pour devenir un texte lisible. Ne sachant pas comment tu souhaites utiliser cette variable je ne me suis pas attardé sur la partie décodage (peut être d'ailleurs cela fait t'il déjà parti de la suite de ton code que tu ne dévoile pas). J'ai pris comme source un exemple de page : Code "http://lyrics.wikia.com/wiki/Céline_Dion:S%27il_Suffisait_D%27aimer" pour la commande shell corrigée cela donne ça: Code curl "http://lyrics.wikia.com/wiki/Céline_Dion:S%27il_Suffisait_D%27aimer" | grep "'lyricbox'" | sed -e "s/<div class='lyricbox'>//g" | sed -e "s/<div class='lyricsbreak'><\/div>//g" | sed -e 's/<br \/>/@/g' | tr '@' $'\x0A' Une fois transposée dans applescript cela donne cela: Code set lyricWikiPageURL to "http://lyrics.wikia.com/wiki/Céline_Dion:S%27il_Suffisait_D%27aimer" set lesParoles to (do shell script "curl " & quoted form of lyricWikiPageURL & " | grep \"'lyricbox'\" | sed -e \"s/<div class='lyricbox'>//g\" | sed -e \"s/<div class='lyricsbreak'><\\/div>//g\" | sed -e 's/<br \\/>/@/g' | tr '@' $'\\x0A'") En revenant sur le Shell et en imaginant que tu souhaites lire les données en html avec ton navigateur, je propose cette commande modifiée : J'ai ici enlevé la suppression des balises <br/> du code (qui participent à la mise en page). Le résultat sera enregistré sur ton bureau, dans un fichier lyrics_wikia_test.html, puis directement ouvert par ton navigateur par défaut (chez moi avec Safari le texte apparait alors en clair) Code curl "http://lyrics.wikia.com/wiki/Céline_Dion:S%27il_Suffisait_D%27aimer" | grep "'lyricbox'" | sed -e "s/<div class='lyricbox'>//g" | sed -e "s/<div class='lyricsbreak'><\/div>//g" > ~/Desktop/lyrics_wikia_test.html; open ~/Desktop/lyrics_wikia_test.html J'espère que ça pourra t'aider. Bon Courage -------------------- MP Intel Dual Xéon 3 GHz - MacOSX 10.10.3 - ATI Radeon HD 5770 - ATTO UL5D - Apple Cinema HD Display 23 pouces MBP 15' 2017 - MBP 13' mid 2009 - iMac 24' 8,1 2,8GHz - MP G4 MDD Bi 1,25 GHz - MP G4 Quicksylver 933MHz |
|
|
![]() ![]() |
Nous sommes le : 18th July 2025 - 02:14 |