Цитата
dretew:
Как и чем можно все это максимально просто и быстро выкачать? Чтоб получить на выходе 220 готовых картинок?
Способ скачать пару сотен изображений
«Максимально просто и быстро выкачать» можно, разумеется, скриптом. Удобнее всего будет использовать PowerShell.
В данном случае всё достаточно просто.Берём начальный Url.Загружаем по нему содержимое html-страницы.Ищем внутри ссылку на искомое изображение.Получаем имя результирующего файла.Загружаем изображение и сохраняем в файл.С той же страницы пробуем получить ссылки на следующую страницу. Если удалось получить (их две, берём любую) — повторяем с пункта 2). Если нет — мы закончили загрузку.На PowerShell 5.0:
Скрытый текст
[spoiler]Код:
[/spoiler]
Код: Выделить всё
$sStartUrl = 'http://4book.org/uchebniki-ukraina/10-klass/470-anglijska-mova-10-klas-karp-yuk/unit-1-people-and-relationship/page-4'
$sPath2SaveFiles = 'C:\Мои проекты\0115'
$oUri = [System.Uri]$sStartUrl
$oSite = [System.Uri]$oUri.GetLeftPart([System.UriPartial]::Authority)
if(Test-Path -Path $sPath2SaveFiles -PathType Container) {
Do {
Write-Host $oUri.AbsoluteUri -ForegroundColor Yellow
$oHttpContent = Invoke-WebRequest -UseBasicParsing -Uri $oUri
if($oHttpContent.StatusCode -eq 200) {
$oHttpContent.Images | Where-Object -Property 'ID' -EQ 'imgZoom' | ForEach-Object -Process {
$sOutFile = Join-Path -Path $sPath2SaveFiles -ChildPath (Split-Path -Path $(([System.Uri]$_.src).LocalPath) -Leaf)
Write-Host $sOutFile -ForegroundColor Cyan
Write-Host ''
Invoke-WebRequest -UseBasicParsing -Uri $(([System.Uri]$_.src).AbsoluteUri) -OutFile $sOutFile
}
$oLinks2NextPage = $oHttpContent.Links | Where-Object -Property 'class' -EQ 'arrow-next'
if($oLinks2NextPage.Count -eq 2) {
$oUri = New-Object -TypeName 'System.Uri' -ArgumentList $oSite, $oLinks2NextPage[0].href
} else {
break
}
} else {
Write-Host "Can't get $($oUri.AbsoluteUri), status code: $($oHttpContent.StatusCode)" -ForegroundColor Red
break
}
} While ($oLinks2NextPage.Count -eq 2)
Write-Host "Thats all" -ForegroundColor Green
} else {
Write-Host "Can't find destination path [$sPath2SaveFiles]." -ForegroundColor Red
}
Цитата
sergey_dsv:
А не проще ли скачать все это на другом сайте, все и сразу?
Способ скачать пару сотен изображений
sergey_dsv, «скачать все это на другом сайте, все и сразу» может быть и проще. Но что делать, когда «все это» есть только на определённом сайте, а вот на любом другом нету?!
