Extraction de données depuis internet
Bonjour à tous,
Après avoir sillonné les forums et le web en quête de réponse, je m'avoue vaincu et je demande de l'aide.
Je souhaite extraire les annonces d'un site web (APEC) afin de pouvoir y postuler et y effectuer un suivi.
Actuellement j'utilise Internet Explorer, cependant la page ne se charge JAMAIS entièrement.
En effet la seule manière que j'ai de correctement charger la page est de faire, rien que pour la PREMIERE page
Application.Wait Time + TimeSerial(0,0,3)
Après avoir chargé la première page, je charge potentiellement 20 autres liens (qui je l'aimerai soient entièrement chargés), je cherche donc une vraie alternative à l'utilisation d'Internet Explorer.
"Pourquoi n'as-tu pas envisagé d'utiliser un object MSXML2.XMLHTTP ?"
Je ne demande que ça! Mais c'est ici que survient mon second problème:
Impossible d'extraire les données que je recherche!!
Ce qui fonctionne avec l'objet Internet Explorer
ie.document.getElementsByTagName("h3")(i).getElementsByTagName("a")(0).href
Ne fonctionne absolument pas avec l'object MSXML2.XMLHTTP
html.getElementsByTagName("h3").item(i).getElementsByTagName("a").item(0).getAttribute("href")
(J'ai déjà testé 450 syntaxes rien ne fonctionne)
NB: Ce n'est pas que ça ne fonctionne pas, c'est que ça ne renvoie pas les bonnes données.
ie.document.getElementsByTagName("h3") va me renvoyer X éléments
html.getElementsByTagName("h3") va me renvoyer 3 éléments (et pas les bons)
Je voudrais vraiment utiliser un objet MSXML2.XMLHTTP, car il n'a aucun problème pour tester que la page est complètement chargé, mais si je ne peux pas récupérer de valeur... Il ne me sert à rien.
Quelqu'un aurait-il une idée? Déjà été confronté à un problème similaire?
Pour les habitués de la console Google chrome, voilà le "selector" pour récupérer l'URL de l'annonce
$('#offres-colonnes > div:nth-child(2) > div:nth-child(1) > h3 > a')[0].getAttribute("href")
Ci-Joint le fichier Excel.