Webscrape local HTML con PowerShell.
El web scraping puede ser un acierto o un error para mí. ¿Cuál es la forma más eficiente de extraer información de esta página HTML guardada localmente?
Después de realizar invoke-webrequest, se vuelve un poco complicado.
Mi objetivo es guardar los nombres de las aplicaciones (Git 2.33.0.2, Notepad++ 7.9.2 (x64), R for Windows 4.0.2, RStudio 2021.09.0+351, Tableau Desktop 2021.2.3, Accusoft Prizm Viewer 10.0.3.38) en una variable.
Utilizo get-content “ruta del archivo .html” -raw y obtengo el siguiente HTML:
<div>
<form method="post" action="/MDT/12896/Apps/UpdateSequence" class="ajax">
<div class="listelements">
<ul>
<li class="corner-all t-state-default t-header">
Git 2.33.0.2
</li>
<li class="corner-all t-state-default t-header">
Notepad++ 7.9.2 (x64)
</li>
<li class="corner-all t-state-default t-header">
R for Windows 4.0.2
</li>
<li class="corner-all t-state-default t-header">
RStudio 2021.09.0+351
</li>
<li class="corner-all t-state-default t-header">
Tableau Desktop 2021.2.3
</li>
<li class="corner-all t-state-default t-header">
Accusoft Prizm Viewer 10.0.3.38
</li>
</ul>
</div>
<br class="clear">
<br class="clear">
</form>
Cualquier consejo sería apreciado.
davy.ai
Para raspar eficientemente la página guardada localmente en formato HTML, puedes seguir los siguientes pasos:
Get-Content
para obtener el contenido del archivo HTMLHTML Agility Pack
para raspar el contenido HTML. Esta biblioteca te permite analizar documentos HTML y extraer los datos requeridos de manera eficiente.Primero, debes descargar e instalar el paquete
HTML Agility Pack
utilizando el siguiente comando:Luego, utiliza el siguiente código para extraer los nombres de las aplicaciones:
La variable
$appNames
contendrá un array con los nombres de las aplicaciones extraídos del contenido HTML.Al utilizar el
HTML Agility Pack
, puedes analizar el documento HTML y extraer los datos requeridos de manera eficiente, incluso si la estructura HTML cambia.