Я хочу, чтобы wget сканировал подкаталоги:

domain.com/profile/username/albums/

Затем возьмите каждый файл .jpg из их источников.

Wget должен получить файлы вроде:

domain.com/profile/username/albums/album1/43434

(...)

domain.com/profile/username/albums/album6/4343

И загрузите каждое изображение из их источников (к сожалению, эти изображения находятся на другом сервере).

Это возможно?

Я играл с -p -A .jpg и -r 1/2/3/4/5, но он захватывает все, например:

domain.com/profile/anotherusername/albums

domain.com/site/contactus

domain.com/site/anothersite

commercials-for-domain.com/banner/

и т.п.

wget -E -H -k -K -p domain.com/profile/username/albums/album1/43434

Работает отлично, но только с одной страницей; Я не уверен, как "сканировать" различные альбомы и файлы.

Я должен сделать это, потому что мой друг украл ее компьютер, и все ее фотографии на этой странице и больше нигде. Их почти 200 с наложениями div над ними, поэтому их трудно сохранить вручную!

[редактировать]

Дерево путей выглядит именно так:

Первый уровень:

domain.com/profile/username/albums/

Второй уровень:

domain.com/profile/username/albums/1, Мои фотографии с дня рождения /

domain.com/profile/username/albums/2,Photos_From_2011-09-25/

Третий уровень:

domain.com/profile/username/albums/1, My Birthday Photos/75893989,

domain.com/profile/username/albums/2,Photos_From_2011-09-25/74893213,

1 ответ1

1

ХОРОШО.. Все фотографии в 2 альбомах получены.

Что касается того, как и как это можно узнать из комментариев, которые я сделал, и замечаний Михаила.

Есть два альбома ..
http://www.fotka.pl/profil/AlekSanDraa2601/albumy/ одна имеет 100 фотографий, другая 63 фотографии.

Вот тот, у которого их 100. http://www.megaupload.com/?d=30RWXKN9 Вот альбом с 63 из них http://www.megaupload.com/?d=CC27NM41

Принимая исходный код отсюда, первый альбом http://www.fotka.pl/profil/AlekSanDraa2601/albumy/1,Ja/74892555

Извлечение URL-адресов изображений Все миниатюры заканчиваются на _72_p.jpg. Мы не хотим, чтобы они требовались для более крупных версий, они требуют, чтобы в URL-адресе amin.fotka было изменено на a.fotka, а _72_p было изменено на _500_s.

Это то же самое для второго альбома .. так, например, для второго альбома с 63 фотографиями http://www.fotka.pl/profil/AlekSanDraa2601/albumy/2,Fotki_z_2011-09-25/75893982,,1319485161

Вот blist3.txt Список всех JPG, перечисленных в _72_p форме http://pastebin.com/raw.php?i=Y2nXfAXT

Вы можете получить это с помощью такой строки ..

C:\>type source.txt | grep -oE "http://.*?\.jpg"  >urls

отредактируйте исходный код, чтобы удалить все разные части ... такие как атрибуты HTML, очевидные вещи, которых не должно быть. 

или используйте эту строку, которая лучше и должна просто получить их все, чтобы ничего не было удалено.

C:\>type source.txt | grep -oE "http://[^ ]*\.jpg"  >urls

У вас есть больше URL, чем вы хотите, для второго альбома, эта команда дает 97, и вам нужны только те, которые с _72_p в URL

Так | grep -E "72_p", чтобы вы получили список только тех фотографий, которые вы хотите.

C:\>type list.txt | wc -l

63 см. В этом файле 63, правильный номер.

это все из них в этом альбоме. Все 63

wget -i list.txt -w 3

http://www.megaupload.com/?d=CC27NM41

Вот и все они, все 163(100+63) из двух альбомов.

Это строка, которую можно использовать для получения списка JPG
listps2.txt - это файл со всеми файлами JPG, как соответствующими, так и не относящимися к делу. Соответствующие находятся в форме 72_p, извлеките соответствующие с помощью grep. И поменяй их с САС. поместите их в "thatfile", и затем вы можете выполнить wget -i thatfile -w 3. Как и я.

C:\>type listps2.txt | grep "72_p" | sed "s/_72_p/_500_s/" | sed "s/amin\.fotka/a.fotka/" >thatfile

C:\>wget -i thatfile

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .