Comment récuperer liste Liens du type <a href= "/.../..=xx.html" situé dans 1 Iframe?

shhsh

XLDnaute Nouveau
Bonjour, :)

J'aimerai savoir si quelqu'un pourrait m'aider pour écrire un code en VBA/Excel 2013 (environnement IE10 sous Window7) .

La difficulté que je rencontre (pour l'instant !), est de récupérer une liste de Liens dont le code source de la page web, située dans un "iframe", est de la forme :

HTML:
<a href="/film/fichefilm_gen_cfilm=*****.html">


Page web en Exemple :
don camillo - Recherche AlloCiné

Evidement, je n'ai pas Trouvé dans le code source de Name, Id ou ClassName relatifs aux liens...
si ce n'est le "name" ou l'Id du frame qui contient les liens :

HTML:
<iframe name="twttrHubFrame" tabindex="0" id="twttrHubFrame" src="http://platform.twitter.com/widgets/hub.html" frameborder="0" scrolling="no" style="top: -9999em; width: 10px; height: 10px; position: absolute;" allowtransparency="true">

Je voudrai récupérer seulement le "Nom" des liens ("FILMS"), avec leur adresse et le contenu des balises textes qui s'y rapporte pour placer ensuite l'ensemble dans un tableau Excel .

De plus, je ne dois récupérer que des liens du style :
<a href= "/films/fichefilm ...=000X.html"> et non pas :
<a href= "/video/fichefilm ...=000X.html">

Si Quelqu'un pouvait au moins m'indiquer les "fonctions" ou le code que je pourrai utiliser .:cool:

Merci pour toute bonne volonté, en précisant que je débute en programmation...

Je vous rajoute le "bout de code" qui me permet de lancer la recherche des infos pour un exemple de film :

Code:
' Attend que la page internet soit chargée
' pTimeOut est un time out en secondes (WaitIE vaut True si Timeout)

Public Function WaitIE(oIE As InternetExplorer, Optional pTimeOut As Long = 0) As Boolean
Dim lTimer As Double
lTimer = Timer

Do
    DoEvents
   If oIE.readyState = READYSTATE_COMPLETE And Not oIE.Busy Then Exit Do
   If pTimeOut > 0 And Timer - lTimer > pTimeOut Then
       WaitIE = True
       Exit Do
   End If
Loop

End Function
    

Public Sub Recherche_info_film()

Dim oNav As SHDocVw.InternetExplorer
Dim oDoc As MSHTML.HTMLDocument
' variables d'essais pour la suite du code et " trouver le bon lien puis pointer dessus"...
Dim Cible As HTMLAnchorElement

Set oNav = New SHDocVw.InternetExplorer
oNav.Visible = True

oNav.navigate "http://www.allocine.fr/film/meilleurs_gen_filtre=dvd&critique=public.html"

' Attente avec timeout de 10 s
    If WaitIE(oNav, 10) Then
' 10 s écoulées et page non chargée
    MsgBox "Time out!"
    Else
' Page chargée, on continue
   Set oDoc = oNav.document
   End If
   
' Valeur recherchée
   oDoc.getElementsByName("q")(0).Value = "don camillo"
   
' Clic sur bouton
   oDoc.getElementsByClassName("btn_form")(0).Click
   
   ' Attente avec timeout de 10 s
    If WaitIE(oNav, 10) Then
' 10 s écoulées et page non chargée
    MsgBox "Time out!"
    Else
' Page chargée, on continue
   Set oDoc = oNav.document
   End If
   
   
'oDoc.Links(43) =  lien correspondant à la page html des 8 résultats trouvés dans les titres de films pour la recherche "don camillo"
    Set Cible = oDoc.Links(43)
    Cible.Click


End Sub
 

Pièces jointes

  • Tableau2.jpg
    Tableau2.jpg
    29.3 KB · Affichages: 113
  • Tableau2.jpg
    Tableau2.jpg
    29.3 KB · Affichages: 118
  • Tableau2.jpg
    Tableau2.jpg
    29.3 KB · Affichages: 117
Dernière édition:

Staple1600

XLDnaute Barbatruc
Re : Comment récuperer liste Liens du type <a href= "/.../..=xx.html" situé dans 1 If

Re

shsh:
J'ai relu ton premier message pour être sur de bien comprendre ton souhait
S'il s'agit de récupérer les URLS affichées sur une page web, si j'étais toi*, je me contenterai de:
  • un simple bookmarlet
  • suivi d'un view:source, complété par : CTRL/A, CTRL/C, CTRL/V:Spécial/Texte unicode
  • Et au final, j'obtiendrai dans une feuille de mon classeur une liste d'urls
(le tout à la mimine et sans macros, dans un temps inférieur à 20 secondes, 13 les jours de pluies)

NB: *Bien sur, il faudrait que je sois un toi à but non lucratif et à usage non commercial ;)
 
Dernière édition:

shhsh

XLDnaute Nouveau
Re : Comment récuperer liste Liens du type <a href= "/.../..=xx.html" situé dans 1 If

Salut Staple1600 :)

Non, il ne s'agit pas seulement de récupérer les URLS affichées sur une page web.
Je veux surtout récupérer le contenu de certaines balises textes qui s'y rapporte pour placer ensuite l'ensemble dans un tableau Excel (en gros récupérer des infos/Textes + images de plusieurs pages web ).

Le projet a évolué depuis le début (suite à plusieurs demandes extérieures) . J’essaie donc de faire en sorte qu'il puisse répondre à un public + large. Ce qui me complique la tache, car pour mes besoins persos, c'est pratiquement réglé !:cool:

Si tu veux connaitre le détail du projet actuel (en gros et de "façon imagée") le voici: ;)

Un dossier "MesAmis" contient une liste de fiches avec des noms de fichiers du style :

  • "Pierre", "Paul ", "Jacques 42ans" , "Mr. Hikssx 119ans", "Bidule (frère de Machin)",
  • "Machin (sœur de Bidule), "Tartempion 8ans", "Dominique Nick"
  • "Mlle Catarina Bellatchitchix 28ans"
  • (je mets quand même un nom de fille pour pas qu'on pense que je sois...Misogyne !) etc ...


Dans ce dossier, le nombre est proportionnel aux amis de chaque utilisateur.
Certaines fiches sont incomplètes pour trouver les amis en commun de chacun...(en peu tordu comme exemple mais j'ai rien d'autre sous la main!).
Plusieurs fiches sont "rattachées" à une "photo du Compère", ce qui facilite l' identification ou les recherches.
Le programme doit LIRE l'ensemble des noms et récupérer sur la toile le complément des informations qui manquent:

  • Le Nom
  • Le Prénom
  • L'age
  • La Photo
  • Les caractéristiques, lorsqu'il y en a... (comme Frère, Sœur,Mr, Mlle...)
  • Le Sexe (enfin je veux dire Garçon, Fille, Homme, Femme) :eek:
  • La Nationalité
  • Sa "côte de popularité" : Âme-Sœur, Amis, Famille, Client, Abruti, ConCommeSesPieds...:rolleyes:
  • Et d'autres Trucs...

Le programme doit ensuite comparer la fiche à la base de données de chacun (sous forme de TABLEAU EXCEL), et pour ne pas CRÉER de doublons.
Le programme doit enfin l'archiver dans la base de donnée personnelle et RECTIFIER le nom de chaque fiche du dossier "MesAmis".

Bien évidement, comme l'affaire pourrait être trop simple, il est nécessaire avant de lancer la Recherche, de "filtrer" les fiches du dossier "MesAmis" . En effet, certaines contiennent des infos qui nuisent à la Recherche (comme par exemple le poids, la couleur de la peau...).
Et pour finir, il faudrait que la recherche ne se fasse pas que sur IE, :mad: mais aussi firefox, chrome ou autre...:)

Donc, un bookmarlet, (même simple !), j'ai laissé tomber (mais rien n'est cassé, rassure toi !).
Pour le reste, faits-moi confiance je ne le ferai pas à la mimine ! :rolleyes:
Quand au temps inférieur à 20 secondes, si c'est pour une fiche, je suis LARGEMENT dans le Créneau.;););)
Si c'est pour une centaine, ça risque d’être pas possible !!!:p

shsh:
...
S'il s'agit de récupérer les URLS affichées sur une page web, si j'étais toi*,...
...
NB: *Bien sur, il faudrait que je sois un toi à but non lucratif et à usage non commercial ;)

Je te l'écris en toute lettre :
LE PROJET EST BIEN A BUT NON LUCRATIF ET A USAGE NON COMMERCIAL

Même si pour l'instant j'y ai laissé plus d'une centaine d'heures !
Je pense que c'est plutôt SYMPA que des personnes consacre une partie de leur temps à aider GRATUITEMENT les autres ou laisser des informations utiles pour les besoins de chacun sur des forums SÉRIEUX...
Il est alors normal qu'en retour je laisse "mon programme" en LIBRE DROIT NON COMMERCIAL.

Si ça se trouve, personne ne sera intéressé... :eek: :eek::eek: Mais cela m'étonnerai beaucoup !!!:)

Allez, @ + :cool:
 

Staple1600

XLDnaute Barbatruc
Re : Comment récuperer liste Liens du type <a href= "/.../..=xx.html" situé dans 1 If

Bonjour à tous


shsh
La dernière mouture de ton projet me fait vaguement penser ... à Fac.bo.k ;)
Et j'ai désormais du mal à voir le rapport avec ceci
Je voudrai récupérer seulement le "Nom" des liens ("FILMS"), avec leur adresse et le contenu des balises textes qui s'y rapporte pour placer ensuite l'ensemble dans un tableau Excel .
Mais finalement la méthode DIY te fut bien utile puisque tu nous dis
Ce qui me complique la tache, car pour mes besoins persos, c'est pratiquement réglé !
 
Dernière édition:

shhsh

XLDnaute Nouveau
Re : Comment récuperer liste Liens du type <a href= "/.../..=xx.html" situé dans 1 If

Salut Staple1600 ! :)

Tu es bien matinal, dis donc ! Trop, peut être ? Et tu n'avais pas les yeux en face des trous (lol) !!! :D

Bonjour à tous
La dernière mouture de ton projet me fait vaguement penser ... à Fac.bo.k ;)
Et j'ai désormais du mal à voir le rapport avec ceci...

Regarde mieux ce que j'ai écris au début du courrier précédent (Je me cite) :

"Si tu veux connaitre le détail du projet actuel (en gros et de "façon imagée") le voici:" ...


Évidemment, si tu prends mes "dires" au pied de la lettre, il est normal que "La dernière mouture de mon projet te fasse vaguement penser ... à Fac.bo.k" (<<<<:mad: , on devrait plutôt dire ... "Face de Bouc", Non ??? :confused:)

Si j'ai pris la précaution d'employer une "parabole" (mais je ne suis pourtant pas le CHRIST (lol) !!! ), c'est pour faciliter une meilleur approche des problèmes et éviter ainsi d’éventuelles polémiques ...
COMME TU ME L'AS TRÈS JUSTEMENT CONSEILLÉ !!! :)

Alors , je te l'assure, mon projet ne diffère pas vraiment de ce que j'ai présenté au "tout-début" du post !

Pour rire (un peu + en ce triste monde...), je dirai "que celui qui a des oreilles entende, des yeux voit ... " et des mains réalise !!!! :D

Faut dééé_coooder, mais un Expert comme toi n'aura pas de mal à retrouver le bon code. Sinon, demande-moi, c'est sans problème que je te rajouterai des précisions... :cool:

Quand à "la méthode DIY", enfin je veux dire du FTM ("Fait le Toi-Même, c'est + correct, Sir Staple1600 !!!), je ne sais pas si on peux exactement dire "qu'elle fut bien utile "...
Indispensable pour que je MAITRISE MIEUX le VBA, EXCEL et les applications relatives au WEB, c'est indéniable.;)

Mais je n'aurai pas refusé un peu + d'aide pour avoir d'avantages de réponses à mes "interrogations" ! :(
Et le peu que j'ai eu, à part tes conseils, ne m'a pas encouragé à poser davantage de questions.:(:(:(
Disons que la principale raison :confused: est probablement liée aux vacances ...
Ce qui m'as SANS AUCUN DOUTE forcé vers le DIY. Euhh, Pardon, je veux dire le FTM !!! :)

Bon, c'est l'heure, faut que je me prépare pour le retour au Boulot !

Amitiés.
@ +
 
Dernière édition:

Statistiques des forums

Discussions
311 725
Messages
2 081 948
Membres
101 849
dernier inscrit
florentMIG