IPB

Bienvenue invité ( Connexion | Inscription )

> commande SED pour récupérer les paroles sur LyricWiki
Options
m00n
posté 19 Apr 2017, 11:56
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 ( cool.gif voir mon autre post), je cherche à récupérer les paroles de chanson sur lyricWiki. J'ai pour ce faire une commande qui ne fonctionne pas : combinaison de curl, grep et de sed :

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
Go to the top of the page
 
+Quote Post
 
Start new topic
Réponse(s)
teddy7545
posté 22 Apr 2017, 13:35
Message #2


Macbidouilleur de vermeil !
****

Groupe : Membres
Messages : 879
Inscrit : 4 Apr 2004
Lieu : Lorraine - 54
Membre no 17 184



On trouve différentes solutions sur le net mais il faut souvent installer un package.
A défaut d'installation spécifique, tu peux procéder comme ça par exemple : tongue.gif

Code
php -r 'while(($line=fgets(STDIN)) !== FALSE) echo html_entity_decode($line, ENT_QUOTES|ENT_HTML401);'

Ce qui donne la commande shell complète comme ceci
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' | php -r 'while(($line=fgets(STDIN)) !== FALSE) echo html_entity_decode($line, ENT_QUOTES|ENT_HTML401);'

Ou encore comme cela si tu souhaites enregistrer le résultat dans un fichier texte (et l'ouvrir directement)
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' | php -r 'while(($line=fgets(STDIN)) !== FALSE) echo html_entity_decode($line, ENT_QUOTES|ENT_HTML401);' > ~/Desktop/Lyrics_test1.txt; open ~/Desktop/Lyrics_test1.txt


Ce message a été modifié par teddy7545 - 22 Apr 2017, 14:02.


--------------------
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
Go to the top of the page
 
+Quote Post
m00n
posté 22 Apr 2017, 13:46
Message #3


Macbidouilleur de bronze !
**

Groupe : Membres
Messages : 391
Inscrit : 2 Jun 2006
Membre no 62 332



Citation (teddy7545 @ 22 Apr 2017, 14:35) *
tu peux procéder comme ça par exemple : tongue.gif


Ah la vache ! Mais où tu vas chercher tout ça ? laugh.gif Eh bien je crois bien que mon problème est résolu.

Merci, merci merci mille fois.


--------------------
MacBook Pro (15-inch, Late 2016), 2,9 GHz Intel Core i7, 16 Go 2133 MHz LPDDR3
Go to the top of the page
 
+Quote Post

Les messages de ce sujet


Reply to this topicStart new topic
1 utilisateur(s) sur ce sujet (1 invité(s) et 0 utilisateur(s) anonyme(s))
0 membre(s) :

 



Nous sommes le : 18th July 2025 - 02:14