LES HTML via Powershell. Powershell / Sam ‘ S Corner

Få informasjon fra nettsider Via Powershell

PS1 i mange tilfeller er informasjonen vi trenger tilgjengelig på en eller flere nettsider, men vi må behandle den samme informasjonen gjentatte ganger. For å automatisere en slik gjentatt oppgave via Powershell må vi lese OG analysere HTML-data. Et spørsmål ble for eksempel nylig lagt ut På microsoft 2010 Sharepoint-forumet:

Jeg elsker Hvordan SharePoint 2010 har siden: http://Server:880/_admin/PatchStatus.aspx. Men ser på denne siden hver server har ca 100 patcher. Å bla gjennom denne listen er vanskelig å se om en av serverne mangler en oppdatering eller har oppdateringer som andre servere ikke gjør. Er det en måte å eksportere informasjonen på PatchStatus.aspx-siden I Sentral Admin til et excel-regneark?

for formålet med denne øvelsen, la oss si at vi vil få titlene på innleggene i DENNE NETTADRESSEN https://superwidgets.wordpress.com/category/sql

Først, la oss lese I HTML-koden på denne siden:

HTML2

Nå, la oss pipe det For Å Få-Medlem for å se hva slags objekt vi fikk og tilgjengelige metoder og egenskaper:

 HTML3

etter å ha utforsket forskjellige egenskaper av $HTML-objektet vi har, og med litt BAKGRUNN HTML-kunnskap, kan du fortelle at informasjonen vi leter etter er I HTML-Kroppen.

Ved hjelp av samme teknikk ovenfor kan vi utforske YTTERLIGERE egenskaper AV HTML-objektet som «ParsedHTML»

$HTML.ParsedHtml / Get-Member

dette viser at det er Et HTMLDocumentClass-objekt med tonnevis av hendelser, metoder og egenskaper:

HTML7

Delvis liste Over HTMLDocumentClass objekt hendelser, metoder og egenskaper

hva er nyttig for oss her er følgende 3 metoder:

getElementById
getElementsByName
getElementsByTagName

nå som vi vet hvordan vi skal trekke ut informasjonen vi trenger fra en nettside, la oss se på detaljene på nettsiden ved hånden https://superwidgets.wordpress.com/category/sql. Åpne DEN I IE for eksempel, trykk F12 for å åpne DOM explorer nederst, utvide HTML-kodene, og flytt musen over kodene en etter en. Legg merke til at DEN ØVERSTE IE-ruten endrer bakgrunnsfargen til elementet du beveger musen på. Dette gir oss en visuell indikasjon på hvilket element I HTML-koden representerer hvilken tekst eller område PÅ EN HTML-side.

 HTML6

du kan se artikkeltitlene vi er interessert i, er de som begynner med

<h2 class = «oppføring-tittel»>

Vi kan nå skrive følgende få linjer Med Powershell-skriptkode for å fullføre oppgaven:

HTML8

# Script for å vise innlegg titler I SQL Categroy Av Superwidgets blogg
# Sam Boutros – 08/10/2014
$URI = «https://superwidgets.wordpress.com/category/sql/ «
$HTML = Påberope-WebRequest-Uri $URI
($HTML.ParsedHtml.getElementsByTagName (‘h2’) / Hvor{ $_.className – eq ‘oppføring-tittel’}).innerText

i linje 5 velger VI HTML-elementer med» H2 «- taggen, filtrerer På ClassName = «entry-title» og velger innertext property.

Utgangen ser slik ut:

HTML9

som er nøyaktig artikkeltitlene vi satte ut for å få.

denne informasjonen kan behandles, logges, lagres eller pakkes på NYTT i ANDRE HTML -, CSV-eller andre rapporter..

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert.