Maison  >  Questions et réponses  >  le corps du texte

Utilisez Excel\VBA pour extraire des informations des pages Web

<p>J'essaie de récupérer des données d'une page Web. J'ai besoin de 4 bits de données, dont 2 que j'ai pu récupérer, mais les 2 autres m'ont été suggérés. </p> <p>Ceci n'est pas une URL fixe, mais elle a été récupérée depuis IE après la redirection, donc pour cet exemple, j'utiliserai : https://cpc.farnell.com/warton/microprint-p2010-15-32um-250g/solder-paste-15-32um-250g-pot/dp/SD02808 </p> <p>J'espère obtenir le titre :</p> <p><strong>Pâte à souder sans nettoyage et sans plomb Microprint P2010, 15-32um, pot de 250 g - MICROPRINT P2010 15-32UM, 250G</strong></p> <p>et numéro de pièce du fabricant</p> <p><strong>Microprint P2010 15-32UM, 250G</strong></p> <p>J'utilise <strong>getElementbyID</strong> pour obtenir la présentation du produit/les informations sur le produit et cela fonctionne très bien, mais les autres champs de texte ne semblent pas fonctionner (j'ai regardé le Xpath et il erreurs sur l'objet) VBE requis)</p> <p>J'ai implémenté avec succès les 2 autres éléments en utilisant : </p> <pre class="brush:php;toolbar:false;">Sub Mani() 'Déclarer des variables Dim objWeb en tant qu'objet Dim objHTML en tant qu'objet Dim objElement en tant qu'objet Dim strData, StrData1 comme chaîne Définir objWeb = CreateObject("internetexplorer.Application") str = "https://cpc.farnell.com/" objWeb.navigate str & Cells(1, 1).Valeur Tandis que objWeb.Busy = True Wende FullURL = objWeb.LocationURL Range("b2").Value = FullURL objWeb.navigate FullURL 'IE.Visible = Vrai Tandis que objWeb.Busy = True Wende Définir objHTML = objWeb.document strData = objHTML.getElementById("pdpSection_FAndB").innerText ActiveSheet.Range("C3").Value = strData strData = objHTML.getElementById("pdpSection_pdpProdDetails").innerText Définir strData = Rien ActiveSheet.Range("D3").Value = strData objWeb.Quitter Fin du sous</pré> <p>Le rechargement d'URL est destiné à la navigation autour des redirections d'URL,</p> <p>https://cpc.farnell.com/SD02808</p> <p>Redirection vers l'URL principale</p> <p>https://cpc.farnell.com/warton/microprint-p2010-15-32um-250g/solder-paste-15-32um-250g-pot/dp/SD02808</p> <p>Je souhaite saisir le numéro de pièce dans A1, Excel l'utilise comme variable dans VB, puis relire l'URL complète à partir de l'instance IE. Il s'agit d'un problème hérité de la tentative d'utilisation de <strong>Obtenir des données à partir du Web</strong>, qui n'a pas bien fonctionné en raison d'une erreur de script de page. Une instance d'IE a donc été utilisée. </p>
P粉555696738P粉555696738434 Il y a quelques jours828

répondre à tous(1)je répondrai

  • P粉517475670
  • Annulerrépondre