EXCEL VBA XP
J'ai mis un Webbrowser dans un UF qui me permet d'accéder à un site pré-défini (chapitre.com). A partir de mon formulaire, je peux chercher un livre précis, aller sur la page de ce livre et récupérer les infos qui m'intéressent (Editeur, résumé, photo,...)
Dans la plupart des cas, j'arrive à récupérer la bonne info. Par contre, les pages "détail du livre" sont organisées différemment en fonction du contenu.
L'id de la date de parution peut changer. J'ai rusé en en paramétrant deux, mais il peut y en avoir plus, idem pour l'éditeur.
J'ai cependant identifié dans le code source une zone identique : it emprop. Mais je ne sais pas comment récupérer l'info de cet it emprop, ni comment récupérer l'id correspondant dans mon code. Et j'avoue que mes recherches sur internet ont été infructueuses (ou mal faîtes...)
Il y a peut-être d'autres solutions. J'avais fait, par exemple, une requête web excel, qui me permettait de récupérer en pavé toutes les infos, de les copier sur une page temporaire et d'extraire les données. Mais cela augmentait mon temps de traitement.
J'apprécierai toute aide ou suggestion.
En pièce jointe, mon fichier test.
http://www.cjoint.com/c/FChpUp5mWmb
Je détaille mon problème, avec des exemples de code, en page Accueil de mon fichier.
ucfoutu
Messages postés18038Date d'inscriptionlundi 7 décembre 2009StatutModérateurDernière intervention11 avril 2018212 7 mars 2016 à 17:48
Bonjour,
Je pense que tu ferais mieux d'exposer ICI problème et code concernés.
Car (tu sembles ne pas en être conscient ) rares sont ceux qui acceptent de télécharger et ouvrir un classeur .xls. Cela est répété ici fréquemment :
- un tel fichier peut être porteur de "bébètes" à ton insu
- un tel fichier peut avoir été également "sain" au départ (au upload) et l'être moins à l'arrivée (au download)
- certains sites de dépôt ont par ailleurs de surcroît acquis une "certaine réputation"
Merci d'avoir pris le temps de regarder ma question. Voici les précisions de code. Ma demande n'a pas bougé. Voici le code que j'utilise dans le webbrowser pour récupérer l'info "date de parution
'date parution
Set HtmlElementStandard_2 = OwebDOC.all("ctl00_PHCenter_productBottom_productDetail_rpDetails_ctl03_rpLinks_ctl00_ltValue")
If HtmlElementStandard_2 Is Nothing Then
Set HtmlElementStandard_2 = OwebDOC.all("ctl00_PHCenter_productBottom_productDetail_rpDetails_ctl04_rpLinks_ctl00_ltValue") 'date parution
TexteExtrait_2 = HtmlElementStandard_2.innerText
ElseIf HtmlElementStandard_2 Is Nothing Then
TexteExtrait_2 = vbNullString
Else
TexteExtrait_2 = HtmlElementStandard_2.innerText
End If
Maintenant, l'id pouvant changer d'une page sur l'autre, j'ai cherché un point commun, qui semble être itemprop =datePublished
Voici deux exemples de page html
http://www.chapitre.com/CHAPITRE/fr/BOOK/diwo-jean/la-caleche,36519409.aspx
(L 542)
Ma question :
Comment puis-je trouver l'itemprop "DatePublished" et comment, à partir de là, puis-je récupérer soit l'id ou l'innertext ?
En espérant que mon énoncé soit clair.
Merci pour votre réponse simple qui fonctionne parfaitement.
Si je comprends bien, je peux utiliser GetElementByTagName pour span, div, meta,... Je l'avais essayé avec itemprop, mais cela ne fonctionnait pas.
J'ai pu aussi adapter ce code pour la recherche de l'éditeur, qui ne se présente pas de la même façon.
Encore merci et bonne journée,
Tony
PS : c'est la 1ière fois que je poste sur ce site et bien qu'ayant coché 'recevoir les réponses par mail', je ne les reçois pas et je ne peux passer la question en 'Résolu'. Si vous pouviez le faire, je vous en serais reconnaissant.
7 mars 2016 à 19:58
'date parution
Maintenant, l'id pouvant changer d'une page sur l'autre, j'ai cherché un point commun, qui semble être itemprop =datePublished
Voici deux exemples de page html
http://www.chapitre.com/CHAPITRE/fr/BOOK/diwo-jean/la-caleche,36519409.aspx
(L 542)
http://www.chapitre.com/CHAPITRE/fr/BOOK/maillet-raymonde-piat-colette/le-matelot-des-fleuves,10233169.aspx
(L 429)
Ma question :
Comment puis-je trouver l'itemprop "DatePublished" et comment, à partir de là, puis-je récupérer soit l'id ou l'innertext ?
En espérant que mon énoncé soit clair.