Bonjour,

Je reviens encore vers vous pour un problème de traitement de données que j'ai extraites du web.
J'ai extrait le contenu de petites annonces dont une partie se présentait sous forme de table. Voici les codes de mon extraction, mais ce ne sont pas eux qui posent problème :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
doc<-htmlParse("http://www.leboncoin.fr/_loisirs_/offres/ile_de_france/?f=a&th=1")
 
lien<-xpathSApply (doc,
                   "//div[contains(@class,'list-lbc')]/a",
                   xmlGetAttr,name = "href")
v<-NA
for (i in 1:length(lien)) {
  v[i]<- readHTMLTable(lien[i], head=2) }
Mon extraction m'a donné l'objet "v" qui est un ensemble de listes qui se présentent sous cette forme :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
[[1]]
             V1            V2
1         Prix:          102       Ville : Saint-Maurice
3 Code postal :         94410
 
[[2]]
             V1      V2
1         Prix:    122       Ville : Thomery
3 Code postal :   77810
En réalité, je souhaiterais transformer ces résultats brut pour obtenir un seul data.frame qui se présenterait comme ça :


Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
	Prix	   Ville	               Code
1	10 €	  Saint Maurice	     94410
2      12 €    Thomery               77810
J'ai réussi à arriver à cette transformation pour une table en écrivant les codes suivant :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
u<-htmlParse("http://www.leboncoin.fr/livres/394455341.htm?ca=12_s")
b<- readHTMLTable(u, head = 2)
 
vt<-as.data.frame(b)
vtbis<-as.data.frame(vt[c(2)])
prix<-vtbis[1,]
ville<-vtbis[2,]
code<-vtbis[3,]
 
Table<-data.frame(prix,ville,code)
Mais mon problème est toujours le même, je n'arrive pas à réaliser cette opération sur l'ensemble de mes listes en une seule fois...
J'ai essayé des boucles FOR, des fonctions sapply, mais ça n'a pas fonctionné..

Je ne sais pas si c'est parce que je ne sais pas les écrire car je suis débutante en R, ou bien si je dois essayer d'autres pistes. Est-il possible de sélectionner sur toutes mes listes la seconde colonne et de la transformer en un seul data.frame ?

Je vous remercie d'avance si vous avez des idées sur ce problème.