Comment réaliser une double boucle FOR ?
Bonjour,
Je sollicite votre aide pour un problème de double boucle sur R, je ne sais pas trop comment m'en sortir..
Je suis sur un projet de recherche et je dois extraire des données d'un site internet de petites annonces. Les petites annonces sont réparties de la façon suivante : dans chaque page, il y a 35 petites annonces. Je souhaite récupérer les 35 liens vers les petites annonces plus détaillées, et ce, sur plusieurs pages, par exemple sur 5 pages.
Tout d'abord, je récupère les liens des 5 pages avec la fonction sprintf :
Code:
docu<-sprintf("http://www.leboncoin.fr/_loisirs_/offres/ile_de_france/?f=a&th=%s",1:5)
Ensuite, je souhaite récupérer les 35 liens, quand je le fais pour une page ça fonctionne, voici le code :
Code:
1 2 3
| lien<-xpathSApply (htmlParse(docu[1]),
"//div[contains(@class,'list-lbc')]/a",
xmlGetAttr,name = "href") |
Mais lorsque je souhaite le faire pour les 5 pages en même temps, je ne sais pas trop comment m'y prendre, j'ai essayé une double boucle FOR, mais elle ne fonctionne pas, je ne sais pas trop comment la remplir de telle sorte que mon objet 'test" comporte les 175 liens que je souhaite récupérer...
Voici le code que j'ai essayé :
Code:
1 2 3 4 5 6 7
| test<-NA
for (i in 1:5){
for (j in 1:35){
test[i,j]<-xpathSApply (htmlParse(docu[i]),
"//div[contains(@class,'list-lbc')]/a",
xmlGetAttr,name = "href")
} } |
Mais R me renvoie l'erreur suivante :
Code:
1 2
| Erreur dans test[i, j] <- xpathSApply(htmlParse(docu[i]), "//div[contains(@class,'list-lbc')]/a", :
nombre d'indices incorrect sur la matrice |
Si quelqu'un a une idée, je vous remercie d'avance.