John D
John D

Reputation: 1

Make Invoke-WebRequest loop through each URL it finds

I'm new to PowerShell and I'm trying to make the Invoke-WebRequest cmdlet loop through each url the webscrape finds. All I have so far is this :

$site = Invoke-WebRequest -UseBasicParsing -Uri www.example.com/examples
$site.Links | Out-GridView

Any help would be appreciated!

Upvotes: 0

Views: 5253

Answers (1)

Chris Pateman
Chris Pateman

Reputation: 559

Add your links to a comma separated list.

Split the list and loop each item.

Request each item.

As below:

$option = [System.StringSplitOptions]::RemoveEmptyEntries
$urlCollection = "link1,link2,link3"
$separator = ","
$urlList = $urlCollection.Split($separator, $option)

foreach ($url in $urlList) {

    Invoke-WebRequest $url

    # Give feedback on how far we are
    Write-Host ("Initiated request for {0}" -f $url)
}

Upvotes: 1

Related Questions