Links aus Webseite auslesen

Posted on: 8. Januar 2019
Sofort alle Links (intern und extern) aus einer Webseite und allen Unterseiten auslesen. So bekommst du schnell einen Überblick auf welche Unterseiten oder externe Seiten die Homepage verklinkt und kannst viele Informationen gewinnen. In einem weiteren Script kannst du beispielsweise danach alle internen Seiten auf bestimmte Informationen abfragen und filtern.

Denk dran: solltest du Wünsche oder Anregungen für Themen und Beträge haben, dann lass es mich bitte wissen z.B. in einem Kommentar oder oben auf dem Input-Formular
Hier der Code aus dem Youtube-Video. Die Vorgehensweise und Bemerkungen findest du direkt als Kommentare (#Grün) im Code. So wird er dir ebenfalls in der PowerSHELL ISE angezeigt werden.
——————————————–
# Basis Webseite zum suchen            
$BasisURI = "germanpowershell.com"            
            
# Array für interne Links            
$IntLinks = @()            
            
# Array für externe Links            
$ExtLinks = @()            
            
# Abfragen der ersten URI (Webseite)            
$Webrequest = Invoke-WebRequest -Uri $BasisURI -UseBasicParsing            
            
# Interne Links der Basis            
$IntLinks += ($Webrequest.Links | ? {$_.href -like "*$($BasisURI.Split(".")[0])*"}).href            
            
# Initiale Linkszahl            
$LinkZaehler = $IntLinks.Count            
            
for ($i = 0; $i -lt $LinkZaehler; $i++)            
{            
            
    $Webrequest = Invoke-WebRequest -Uri $IntLinks[$i] -UseBasicParsing            
                
    # Alle internen Links zum Array hinzufügen            
    $IntLinks += ($Webrequest.Links | ? {$_.href -like "*$($BasisURI.Split(".")[0])*"}).href            
                
    # Alle externen Links zum Array hinzufügen            
    $ExtLinks += ($Webrequest.Links | ? {$_.href -notlike "*$($BasisURI.Split(".")[0])*"}).href            
                
    # Ausgabe des Fortschritts             
    Write-Host "Fortschritt $i/$($LinkZaehler)" -ForegroundColor Yellow            
}            
            
# Ausgabe der gefundenen einmaligen (unique) Links im Array            
Write-Host "Gefundene einmalige interne Links $(($IntLinks | select -Unique).count)" -ForegroundColor Cyan            
Write-Host "Gefundene einmalige externe Links $(($ExtLinks | select -Unique).count)" -ForegroundColor Cyan
——————————————–
Solltest du irgendwelche Fragen haben, dann kannst du diese gerne entweder hier im Blog oder direkt unter dem YouTube Video stellen. Ich gebe alles, deine Fragen zeitnahe zu beantworten oder ein entsprechendes Video darüber zu machen.
Gerade die Grundlagen-Videos werde ich nicht mit viel Text ausschmücken. Bei mir ist jeweils jede Code-Zeile direkt im Code Kommentiert (#Grün). Du kannst den Code direkt mit in dein Script kopieren und hast so eine gute Orientierungshilfe, sobald du die Scripts auf deine Bedürfnisse anpasst.

Ich erstelle und veröffentliche sämtliche Videos kostenlos und blende auch keine Werbung ein, dies will ich auch so beibehalten. Da das vermittelte Wissen aber in teuren Kursen erlangt werden kann, ist eine kleine Spende hin und wieder sicher keine schlechte Gegenleistung.