Sauvegarde page web minimaliste à la sauce Firefox

vergez

XLDnaute Nouveau
Bonsoir tout le monde,

En faisant mes imports de page web via Firefox, j'obtiens un fichier htm ultra pratique pour mes besoins: il ne garde que le texte affiché à l'écran et il ajoute entre crochets toutes les url associée aux hyperliens. Comme expliqué dans un autre topic, mon but unique étant d'extraire toutes les urls visibles ou non.

Maintenant, si j'utilise le code fournit dans la faq pour sauvegarder des pages web via Internet Explorer, toute la mise en page html sera importée avec. Ce qui ne m'arrange pas du tout (lourdeur, lenteur et autre code nécessaire pour extraire les url des hyperliens). Voici le code de la faq:

Code:
    Sub exporterPageInternetDansfichierTexte()

    'La source : http://www.excelforum.com//showthread.php?t=335124 
    'necessite d'activer la reference Microsoft Internet Controls

    Dim IE As internetExplorer
    Dim nFile As Integer
    Set IE = createObject("internetExplorer.Application")

    With IE
    .Visible = False
    .Silent = True
    .Navigate "http://www.excel-downloads.com"

    Do Until .readyState = READYSTATE_COMPLETE
    doEvents
    Loop 'attend la fin du chargement
    nFile = freeFile

    Open "C:\xldtest.txt" For Output Shared As #nFile

    Print #nFile, .Document.documentElement.innerText
    'Print #nFile, .document.documentElement.innerHTML

    Close #nFile
    .Quit
    End With
    Set IE = Nothing
    End Sub

Bref, comment faire pour utiliser ce code à la manière de la sauvegarde de Firefox ? Donc, afficher derrière chaque hyperlien l'url réelle ?

Merci beaucoup pour vos réponses.
 

vergez

XLDnaute Nouveau
Re : Sauvegarde page web minimaliste à la sauce Firefox

Hello Staple,

Un tout grand merci pour ta réponse ... cela va m'aider pour certaines choses mais pas pour mon problème actuel ... car j'ai vraiment besoin d'intégrer tout cela dans excel.
 

Staple1600

XLDnaute Barbatruc
Re : Sauvegarde page web minimaliste à la sauce Firefox

Bonjour


Issu d'une recherche sur le net
(ca devrait pouvoir t'aider)
Il faut ajouter la référence à Microsoft Internet Controls
dans VBE: Outils/Références
Code:
Sub ListLinks()
'auteur: Dick Kusleika
Dim IeApp As InternetExplorer
Dim sURL As String
Dim IeDoc As Object
Dim i As Long
'Create new instance of IE
Set IeApp = New InternetExplorer
'Make it visible - some things don't work
'unless it's visible
IeApp.Visible = True
'define the page to open
sURL = "www.excel-downloads.com"
'navigate to the page
IeApp.Navigate sURL
'Pause the macro using a loop until the
'page is fully loaded
Do
Loop Until IeApp.ReadyState = READYSTATE_COMPLETE
'store the Document object
Set IeDoc = IeApp.Document
'Loop through the links collection.  Most collections
    'seem to be zero based, but it's pretty much trial and
    'error for me
    For i = 0 To IeDoc.links.Length - 1
        'write the linking url to a cell
        Cells(i + 1, 1).Value = IeDoc.links(i).href
    Next i
    'Clean up
    IeApp.Quit
    Set IeApp = Nothing
End Sub
 
Dernière édition:

vergez

XLDnaute Nouveau
Re : Sauvegarde page web minimaliste à la sauce Firefox

Hello staple,

Bonne nouvelle, tu te rapproches dangereusement de ce dont j'ai besoin ... Mais dans le code, il ne me manque plus que l'ajout de tout texte de cellule sans rapport avec les balises href.

Par exemple, une série de liens inclus dans des balises

[pre]
http://...
http://...
http://...
[/pre]

Pour le code vbs, je passe ... car je ne suis à l'heure actuelle qu'à la moitié de mon libre sur le VBA, chaque chose en son temps. ;-)

Sans quoi, bonne fêtes pour ce soir.
 

Statistiques des forums

Discussions
312 492
Messages
2 088 925
Membres
103 984
dernier inscrit
maliko67