Компьютерный форум OSzone.net  

Компьютерный форум OSzone.net (http://forum.oszone.net/index.php)
-   Хочу все знать (http://forum.oszone.net/forumdisplay.php?f=23)
-   -   Способ скачать пару сотен изображений (http://forum.oszone.net/showthread.php?t=329694)

dretew 10-09-2017 23:45 2763996

Способ скачать пару сотен изображений
 
Есть сайт http://4book.org/. С него нужно скачать книгу, вернее изображения в формате .jpg. Когда-то задавал подобный вопрос, но там было проще. Там в адресе картинки менялась только цифра, и я просто мог выкачать все пикчи, используя Free Download Manger пакетом... Здесь же много цифр и букв меняется.
Начнем.
Страницы с картинками лежат по простым адресам - http://4book.org/uchebniki-ukraina/1...ionship/page-4, диапазон: page-4 - page-223.
Со ссылками на сами картинки все намного труднее. Для примера список ссылок на некоторые страницы:
4)(она же первая) - http://4book.org/photo/581c/65c3/eef...4640/big_4.jpg
5) http://4book.org/photo/581c/65c3/eef...4641/big_5.jpg
6) http://4book.org/photo/581c/65c3/eef...4642/big_6.jpg
100) http://4book.org/photo/581c/66b2/eef...7e/big_100.jpg
101) http://4book.org/photo/581c/66b2/eef...7f/big_101.jpg
105) http://4book.org/photo/581c/66b3/eef...83/big_105.jpg
200) http://4book.org/photo/581c/67db/eef...93/big_200.jpg
223) http://4book.org/photo/581c/67df/eef...aa/big_223.jpg

Как и чем можно все это максимально просто и быстро выкачать? Чтоб получить на выходе 220 готовых картинок?
Спасибо;)

sergey_dsv 11-09-2017 05:44 2764005

А не проще ли скачать все это на другом сайте, все и сразу?
Делов то на 10 минут.
Англійська мова 10 клас Карп'юк

Iska 11-09-2017 06:05 2764008

Цитата:

Цитата dretew
Как и чем можно все это максимально просто и быстро выкачать? Чтоб получить на выходе 220 готовых картинок? »

«Максимально просто и быстро выкачать» можно, разумеется, скриптом. Удобнее всего будет использовать PowerShell.

В данном случае всё достаточно просто.
  1. Берём начальный Url.
  2. Загружаем по нему содержимое html-страницы.
  3. Ищем внутри ссылку на искомое изображение.
  4. Получаем имя результирующего файла.
  5. Загружаем изображение и сохраняем в файл.
  6. С той же страницы пробуем получить ссылки на следующую страницу. Если удалось получить (их две, берём любую) — повторяем с пункта 2). Если нет — мы закончили загрузку.
На PowerShell 5.0:
Скрытый текст
Код:

$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, «скачать все это на другом сайте, все и сразу» может быть и проще. Но что делать, когда «все это» есть только на определённом сайте, а вот на любом другом нету?! ;)

sergey_dsv 11-09-2017 06:14 2764011

Цитата:

Цитата Iska
Но что делать, когда «все это» есть только на определённом сайте, а вот на любом другом нету?! »

Возможно и так. Но в данном случае мой вариант намного проще.

dretew 11-09-2017 09:23 2764024

Цитата:

Цитата sergey_dsv (Сообщение 2764011)
Но в данном случае мой вариант намного проще.

Книги этой больше и нет нигде.
Автор везде права свои качает...
Есть ещё на docme.ru, но только просмотр.
Мб можно скачать все картинки с самих страниц, а не адресов пикч?
Есть же всякие сервисы типа скачать все картинки со страницы.
Вот так бы выкачать все изображения с диапазона /page-4 - /page-223, а там я отделю, это не проблема.
Только чем выкачать?

freese 11-09-2017 09:37 2764025

dretew, Teleport Pro, Offline Explorer, но они платные

Iska 11-09-2017 09:43 2764026

Цитата:

Цитата dretew
Мб можно скачать все картинки с самих страниц »

Именно это и делает:
Скрытый текст
выложенный выше код.

Скрытый текст



sergey_dsv 11-09-2017 11:35 2764035

Цитата:

Цитата dretew
Книги этой больше и нет нигде. »

Как это нет.
А я простите как ее нашел и скачал для вас?

dretew 11-09-2017 13:45 2764067

Цитата:

Цитата sergey_dsv (Сообщение 2764035)
Цитата:

Цитата dretew
Книги этой больше и нет нигде. »

Как это нет.
А я простите как ее нашел и скачал для вас?

Только увидел, спасибо;) Где скачали, если не секрет?

sergey_dsv 11-09-2017 16:30 2764098

Цитата:

Цитата dretew
Где скачали, если не секрет? »

https://vk.com


Время: 22:51.

Время: 22:51.
© OSzone.net 2001-