На следующем веб-сайте предоставлена статистика .xlsx: https://www.ifo.de/umfragen/zeitreihen
Папки ссылок корректируются ежемесячно.
Как загрузить все файлы с помощью PowerShell?
Я уже пробовал командлет Invoke-WebRequest
, но он не показывает никаких ссылок, пример:
Пример 1 не доставляет записи в download_link.txt
$u = 'https://www.ifo.de/umfragen/zeitreihen/'
$l = (Invoke-WebRequest –Uri $u).Links | ? href -like *xlsx*
Set-Content c\test_path\download_link.txt -Value $l
$l | select -Unique href | % {
#get file name
$name = $l | ? href -eq $_.href | select -First 1 -ExpandProperty innerHtml
"going to DL $name"
#get actual DL link
$mp3 = Invoke-WebRequest $_.href |
select -ExpandProperty Links |
? href -like *xlsx |
select -ExpandProperty href
#$mp3 = (Invoke-WebRequest ($_.href | select -Unique href | select - First 1 -ExpandProperty href)).Links | ? href -like *xlsx* | select -ExpandProperty href
"real file is $xlsx, downloading..."
timeout 5
Invoke-WebRequest -Uri $xlsx -OutFile c\test_path\$name -Verbose
}
Пример 2 также не загружает файл .xlsx
$IOTD = ((Invoke-WebRequest -Uri ‘https://www.ifo.de/umfragen/zeitreihen/’).Links | Where {$_.href -like “*.xlsx*”}).href
(New-Object System.Net.WebClient).DownloadFile($IOTD,'c\test_path\')
Лучшим вариантом будет использование первого сценария для динамической записи ссылок на скачивание в текстовый файл, а затем загрузка всех предоставленных файлов .xlsx.