VBA Web Scraping exceller

โšก Rรฉsumรฉ intelligent

Exploration de sites Webping avec VBA extracinsertion directe de donnรฉes TS provenant de pages Web HTML dans Excel, grรขce ร  l'automatisation d'Internet Explorer et Microsoft Bibliothรจque d'objets HTML permettant de naviguer sur un site, de lire un tableau HTML et d'รฉcrire les valeurs collectรฉes dans les cellules d'une feuille de calcul.

  • ๐Ÿงฐ Automatisation VBA : VBA pilote Internet Explorer depuis Excel pour charger une page web et lire son code HTML.
  • ๐Ÿ“š Rรฉfรฉrences requises : Microsoft Bibliothรจque d'objets HTML et Microsoft Les contrรดles Internet doivent รชtre rรฉfรฉrencรฉs dans le projet.
  • ๐ŸŒ Mรฉthode de navigation : La mรฉthode Navigate ouvre une cible URLet le code attend que la page soit prรชte.
  • ๐Ÿงฑ Analyse des tableaux HTML : La mรฉthode getElementsByTagName lit le tableau afin que ses lignes et ses cellules puissent รชtre parcourues.
  • (I.e. ร‰crire dans les cellules : Les valeurs collectรฉes sont inscrites dans les cellules de la feuille de calcul, souvent derriรจre un bouton Actualiser.
  • ๐Ÿค– Assistance IA : Les outils d'IA et les copilotes gรฉnรจrent dรฉsormais des donnรฉesping Coder et adapter les sรฉlecteurs lorsque les mises en page changent.

VBA Web Scraping exceller

Qu'est-ce que le Data Scrap ?ping?

Data scraping est la technique qui aide extracextraire les informations souhaitรฉes d'une page web HTML et les enregistrer dans un fichier local sur votre ordinateur. Ce fichier local est gรฉnรฉralement un fichier Excel, un fichier Word ou tout autre type de fichier. Microsoft Application bureautique. Elle permet de centraliser les informations essentielles provenant de la page web.

Data scraping Cela devient prรฉcieux dans le cadre d'un projet de recherche qui dรฉpend quotidiennement d'Internet. Prenons l'exemple d'un trader qui utilise une macro Excel pour extraire des informations de marchรฉ d'un site web financier et les importer dans une feuille Excel grรขce ร  VBA.

Comment prรฉparer la macro Excel avant l'extraction de donnรฉesping (Internet Explorer)

Certaines opรฉrations prรฉalables doivent รชtre effectuรฉes sur le fichier macro Excel avant de dรฉmarrer l'extraction de donnรฉes.ping processus.

Les conditions prรฉalables sont les suivantes :

ร‰tape 1) Ouvrez une macro Excel et accรฉdez ร  l'option Dรฉveloppeur d'Excel.

Prรฉparer une macro Excel avant l'extraction de donnรฉesping en utilisant Internet Explorer

ร‰tape 2) Sรฉlectionnez l'option Visual Basic sous l'onglet Dรฉveloppeur.

Prรฉparer une macro Excel avant l'extraction de donnรฉesping en utilisant Internet Explorer

ร‰tape 3) Insรฉrez un nouveau module.

Prรฉparer une macro Excel avant l'extraction de donnรฉesping en utilisant Internet Explorer

ร‰tape 4) Initialiser une nouvelle sous-routine.

Sub test()
End Sub

Le module donnerait le rรฉsultat suivant :

Prรฉparer une macro Excel avant l'extraction de donnรฉesping en utilisant Internet Explorer

ร‰tape 5) Accรฉdez ร  l'option Rรฉfรฉrence sous l'onglet Outils et consultez la rรฉfรฉrence Microsoft Bibliothรจque d'objets HTML et Microsoft Contrรดles Internet.

Les fichiers suivants doivent รชtre rรฉfรฉrencรฉs dans le module, car ils permettent d'ouvrir Internet Explorer et facilitent la crรฉation de scripts macro.

Rรฉfรฉrences Microsoft Bibliothรจque d'objets HTML et contrรดles Internet

Le fichier Excel est maintenant prรชt ร  interagir avec Internet Explorer. L'รฉtape suivante consiste ร  intรฉgrer des macros qui facilitent l'extraction de donnรฉes.ping en HTML.

Comment ouvrir Internet Explorer avec Excel VBA

ร‰tape 1) Initialisez la variable dans la sous-routine comme indiquรฉ ci-dessous.

Sub test()
Dim ie As New InternetExplorer 
Dim doc As New HTMLDocument

ร‰tape 2) Pour ouvrir Internet Explorer ร  l'aide de VBA, saisissez ie.Visible = True et appuyez sur F5.

Sub test()
Dim ie As New InternetExplorer 
Dim doc As New HTMLDocument
ie.Visible = True

Le module se prรฉsenterait comme suit :

Ouvrez Internet Explorer ร  l'aide d'Excel VBA

Ouvrez Internet Explorer ร  l'aide d'Excel VBA

Comment ouvrir un site web dans Internet Explorer en utilisant VBA

Voici les รฉtapes ร  suivre pour ouvrir un site web dans Internet Explorer en utilisant VBA.

ร‰tape 1) Une fois que vous pouvez accรฉder ร  Internet Explorer ร  l'aide d'Excel VBA, l'รฉtape suivante consiste ร  accรฉder ร  un site web ร  l'aide de VBA. Ceci est facilitรฉ par l'attribut Navigate, oรน le URL est transmis entre guillemets doubles. Suivez les รฉtapes indiquรฉes.

Sub test()
Dim ie As New InternetExplorer
Dim doc As New HTMLDocument
Dim ecoll As Object
ie.Visible = True
ie.Navigate "https://demo.guru99.com/test/web-table-element.php"
Do
DoEvents
Loop Until ie.readyState = READYSTATE_COMPLETE

ร‰tape 2) Appuyez sur F5 pour exรฉcuter la macro. La page Web suivante s'ouvrira comme indiquรฉ.

Ouvrir un site web dans Internet Explorer ร  l'aide de VBA

La macro Excel est maintenant prรชte ร  exรฉcuter le processus.ping fonctions. L'รฉtape suivante montre comment l'information peut รชtre extracmodifiรฉ depuis Internet Explorer ร  l'aide de VBA.

Comment extraire des informations d'un site web ร  l'aide de VBA

Supposons qu'un trader souhaite accรฉder quotidiennement aux donnรฉes du site web. ร€ chaque clic sur le bouton, les donnรฉes de marchรฉ devraient รชtre automatiquement importรฉes dans Excel.

Sur le site web mentionnรฉ ci-dessus, il est nรฉcessaire d'examiner un รฉlรฉment et d'observer comment les donnรฉes sont structurรฉes.

ร‰tape 1) Accรฉdez au code source HTML ci-dessous en appuyant sur Ctrl + Shift + Je.

<table class="datatable">
<thead>
<tr>
<th>Company</th>
<th>Group</th>
<th>Pre Close (Rs)</th>
<th>Current Price (Rs)</th>
<th>% Change</th>
</tr>

Le code source serait le suivant :

Sub test()
Dim ie As New InternetExplorer
Dim doc As New HTMLDocument
Dim ecoll As Object
ie.Visible = True
ie.Navigate "https://demo.guru99.com/test/web-table-element.php"
Do
DoEvents
Loop Until ie.readyState = READYSTATE_COMPLETE
Set doc = ie.document

Comme vous pouvez le constater, les donnรฉes sont structurรฉes sous forme d'un tableau HTML unique. Par consรฉquent, pour extraire l'ensemble des donnรฉes de ce tableau, vous devez concevoir une macro qui collecte les donnรฉes sous forme de collection.

La collection est ensuite collรฉe dans Excel. Pour obtenir les rรฉsultats souhaitรฉs, suivez les รฉtapes ci-dessous.

ร‰tape 2) Initialisez le document HTML dans la sous-routine.

ร‰tape 3) Initialisez l'รฉlรฉment de collection prรฉsent dans le document HTML.

Sub test()
Dim ie As New InternetExplorer
Dim doc As New HTMLDocument
Dim ecoll As Object
ie.Visible = True
ie.Navigate "https://demo.guru99.com/test/web-table-element.php"
Do
DoEvents
Loop Until ie.readyState = READYSTATE_COMPLETE
Set doc = ie.document
Set ecoll = doc.getElementsByTagName("table")

ร‰tape 4) Initialisez les cellules de la feuille Excel ร  l'aide d'une boucle imbriquรฉe comme indiquรฉ.

Sub test()
Dim ie As New InternetExplorer
Dim doc As New HTMLDocument
Dim ecoll As Object

ie.Visible = True
ie.Navigate "https://demo.guru99.com/test/web-table-element.php"
Do
DoEvents
Loop Until ie.readyState = READYSTATE_COMPLETE
Set doc = ie.document
Set ecoll = doc.getElementsByTagName("table")

Excel peut รชtre initialisรฉ ร  l'aide de l'attribut Range ou de l'attribut Cells de la feuille. Afin de simplifier le script VBA, les donnรฉes de la collection sont initialisรฉes dans l'attribut Cells de la Feuille 1 du classeur.

Une fois le script macro prรชt, associez la sous-routine ร  un bouton Excel et quittez le module VBA. Nommez le bouton ยซ Actualiser ยป ou tout autre nom appropriรฉ. Dans cet exemple, le bouton sโ€™appelle simplement ยซ Actualiser ยป.

Rรฉcupรฉrer des informations sur un site Web ร  l'aide de VBA

ร‰tape 5) Appuyez sur le bouton Actualiser pour obtenir le rรฉsultat ci-dessous.

Rรฉcupรฉrer des informations sur un site Web ร  l'aide de VBA

ร‰tape 6) Comparez les rรฉsultats obtenus dans Excel avec ceux obtenus dans Internet Explorer.

Rรฉcupรฉrer des informations sur un site Web ร  l'aide de VBA

FAQ

Deux rรฉfรฉrences sont nรฉcessaires dans l'รฉditeur VBA, sous Outils, Rรฉfรฉrences : la Microsoft Bibliothรจque d'objets HTML et Microsoft Contrรดles Internet. Ils permettent ร  VBA d'ouvrir Internet Explorer et de naviguer vers un site web. URLet lire les รฉlรฉments HTML de la page.

Cela dรฉpend du site web. De nombreux sites restreignent le scraping automatisรฉ.ping dans leurs conditions d'utilisation, alors consultez-les d'abord et รฉvitez de collecter des donnรฉes personnelles ou protรฉgรฉes par le droit d'auteur. Scraping Les donnรฉes publiques autorisรฉes pour une analyse personnelle prรฉsentent gรฉnรฉralement un risque moindre.

Internet Explorer รฉtant obsolรจte, les projets modernes utilisent dรฉsormaisโ€ฆ Selenium VBA approche qui anime Chrome, Firefox, ou Edge. Selenium offre une prise en charge multi-navigateurs et une localisation des รฉlรฉments plus fiable pour les sites web actuels.

Oui. Les robots d'exploration et les copilotes basรฉs sur l'IA peuvent identifier les champs de donnรฉes et gรฉnรฉrer des exemples.tracLe code de modification est automatiquement adaptรฉ aux changements de mise en page. Les modรจles d'apprentissage automatique analysent รฉgalement les pages non structurรฉes, rรฉduisant ainsi le travail manuel de rรฉdaction et de maintenance des pages.ping scripts.

L'IA utilise la vision par ordinateur et le traitement du langage naturel pour reconnaรฎtre les tableaux, les prix et le texte sur une page, mรชme sans sรฉlecteurs fixes. Cet outil intelligenttraction fait des scraping plus rรฉsilient lorsqu'un site web modifie sa structure.

Rรฉsumez cet article avec :