Récupérer dans excel tous les liens sur une page HTML

Je voudrais par excel aller récupérer des données présentes sur des fichiers html qui sont dans un répertoire de mon PC.

 
Dans ton classeur de destination, copie la liste des pages à ouvrir (sans extension) et nomme  la plage en question HTML. La macro ci dessous permet d'ouvrir des pages et de récupérer les
liens qui s'y trouvent. Ils commencent tous en code HTML par < a href.... La macro ouvre toutes les pages, cherche ligne par ligne celles qui contiennent le texte <a href.
Pour celles ci, excel recherche ce qui se trouve entre "<a href" et  ">" (fin de balise). La macro copie ce qu'il y a entre les deux dans le classeur excel en colonne B avec le nom de la page en colonne A. Comme ces procédures peuvent être longues si les fichiers sont volumineux, j'ai introduit dans les pages HTML un commentaire (ici "<!--stoptags--> ") qui permet d'interrompre la lecture du fichier en un point choisi.

Sub recuptags()
Open Fichier For Input Access Read As #1
Do While Not EOF(1)
Line Input #1, truc
If truc = "<!--stoptags-->" Then
Close #1
Exit Sub
Else
pos = InStr(1, LCase(truc), "<a href=" & Chr(34) & Chr(35)) ' cherche la
chaine a href"#
If pos > 0 Then
truc = Trim(Right(truc, Len(truc) - pos + 1))
encore: 'bouclette pour trouver la fin du tag
If InStr(1, LCase(truc), ">") > 0 Then
truc = Left(truc, InStr(1, LCase(truc), ">"))
Else
Line Input #1, trucsuite
truc = truc & " " & trucsuite
GoTo encore
End If
If LCase(truc <> "<a href=" & Chr(34) & Chr(35) &
"top" & Chr(34) & ">") Then
Cells(i, 1).Value = hTm
Cells(i, 2).Value = truc
i = i + 1
End If
End If
End If
Loop
Close #1

End Sub

Auteurs : ,

Mots clefs associés à cette page : , , , , , ,