Home
dump -0f - /dev/mind
Баечки о мобильной связи (GSM, CDMA) и IT индустрии
Как скачать фотоальбом из Picasaweb целиком? 
28th-Sep-2007 11:44 am
Понадобилось мне выкачать все полноразмерные фотографии из некоего альбома, опубликованого в Picasaweb. Около 80 фоток. Кликать на каждое preview и делать "save image as ..." - долго и моторошно. Из подручных средств сложилось вот такое решение:

1)В правом нижнем углу страницы picasaweb есть ссылка на RSS feed. Делаем ей "save trarget as" в какой-то файл, например "album.xml"

2)Теперь надо выгрести из этого файла ссылки на картинки. Они там идут в таких вот тэгах:
"<media:content url='http://xyz.google.com/......../img00001.jpg' .../>"

Берем утилиту для извлечения кусок из xml и html-файлов по XPath-подобным выражениям под названием Xtract и делаем вот так:

Xtract '//media:content/@url' album.xml > IMAGES


Соответственно, в файл "IMAGES" попадают все значения атрибута "url" из всех тэгов "media:content".

3)Дальше на этот файл натравливается любая качалка (например, "wget -i IMAGES") и все, дело в шляпе.

Написать этот пост заняло где-то в десять раза больше времени, чем собственно провести все манипуляции :)

Наверняка я изобрел велосипед. Ну и фиг с ним :)
Рецепт пусть остается мне для истории, а вам, возможно, пригодится ссылочка на Xtract.
Comments 
28th-Sep-2007 08:55 am (UTC)
А что делает кнопка "скачать альбом"? Я её не нажимал никогда, но думаю, что ты её видел
28th-Sep-2007 08:57 am (UTC)
Присоединяюсь к вопросу.
28th-Sep-2007 09:06 am (UTC)
позволяет скачать альбом целиком :) в установленную программу пиказа. чего и автору поста желаю, хотя за нутро галерей - спасибо!
28th-Sep-2007 09:55 am (UTC)
Есть подозрение, что для этого надо подружиться с автором альбома или что-то подобное. =)

Но вообще она рулит. Действительно скачивает альбом.
28th-Sep-2007 10:02 am (UTC)
если альбом скрытый, feed ты тоже не достанешь без правильной ссылки
28th-Sep-2007 11:01 am (UTC)
А где эта кнопка?
28th-Sep-2007 11:13 am (UTC)
Слева, с эмблемой пикасы. Требование - установленный клиент
28th-Sep-2007 08:42 pm (UTC)
Я ее не видел, т.к. у меня в браузере нет поддержки протокола picasaweb. Ну, не добавил ее туда инсталлятор picasa - что делать.
28th-Sep-2007 08:57 am (UTC)
in simple cases, grep+sed works as poor man's Xtract :)
28th-Sep-2007 10:35 am (UTC)
я использую perl -n. Интересно, xtract работает на не well-formed документах? РСС в большинстве случаев конечно well-formed, чего не скажешь про обычные страницы в духе жж

Да, интересно темы когда-нибудь переверстают на ксс?
28th-Sep-2007 11:04 am (UTC)
На не-well-formed - скорее не работает, чем работает. Ему ж аналог DOM-а надо построить, чтобы запросы выполнять, а если документ не well-formed - то как же его построить?

Это надо что-то вроде SAX или TagSoup использовать.
28th-Sep-2007 03:54 pm (UTC)
Ну, браузер теоретически тоже не должон корявые документы рендерить - но он рендерит. Соответственно, можно было б сделать в инструменте какой quirks mode который бы теги наугад дорисовывал
28th-Sep-2007 08:44 pm (UTC)
Корявые, как правило != не-well-formed

Закрывать тэги наугад - это путь в никуда. А вдруг этот тэг закрывается "правильно" 10 байтами далее?

Тогда уже лучше документ целиком рандомно генерить.
29th-Sep-2007 03:24 am (UTC)
та ладно! пара неправильно дорисованных тегов ещё никому не вредила. Ну и хрен с ним с этим тегом - корявостей-то не так много обычно по сравнению с общей массой, если они испортятся - это вряд ли помешает тебе извлечь то что нужно.

Но я не только закрытие тегов имел ввиду - еще есть нарушения вложенности, атрибуты без кавычек, compact-атрибуты (ака имя без значения) и незаэскейпленные энтитис (ака амперсанды в урл). Все эти штуки мешают парсить файл парсеру, соответствующему стандартам. Соответственно надо или писать свой парсер хитрый, либо столь же хитро препроцессить такие штуки.
28th-Sep-2007 11:02 am (UTC)
Это да. Кстати, и тут случай простой достаточно. У меня вероятно просто реакция сработала - раз XML, значит, надо грепать по XPath :)
28th-Sep-2007 09:34 am (UTC)
у тебя вышел отличный велосипед с квадратными колесами
и на нем можно даже ездить по шпалам
главное выполнить задачу

а пиказа вроде и в линупсе работает
28th-Sep-2007 11:02 am (UTC)
А вот последнюю фразу я не понял :(
28th-Sep-2007 11:14 am (UTC)
последняя фраза к тому, что имеется клиент для линукса :)
28th-Sep-2007 11:17 am (UTC)
ну по крайней мере на лоре говорили
не то портировали, не то через вайн стала работать

в пиказе веб есть кнопка для скачивания альбома всего
при нажатии ее пиказа на компе подхватывает линк и качает весь альбом
28th-Sep-2007 08:45 pm (UTC)
Уже нашел. У меня инсталлер пикасы не сделал нужные настройки в pref.js у Firefox. Ну, и фиг с ним :)
28th-Sep-2007 11:03 am (UTC)
А не спасает, имхо. Т.к. ссылки на целевые картинки - не с оглавления альбома, а со "следующих" страниц, которые открываются при нажатии на thumbnail.
28th-Sep-2007 11:14 am (UTC)
+1. аддон с пикасой не поможет
29th-Sep-2007 12:26 pm (UTC)
сразу мои всяческие извинения за оффтоп,
но не могли бы вы подсказать, как сделать себе правий фрейм журнала, столь же информативным как у вас?

Могет есть гдето по этому делу уроки?

29th-Sep-2007 05:54 pm (UTC)
В смысле?

У меня правый sidebar тупо набит разнообразными картинками и ссылками. На все - про все всего два html-тэга - <a href="...">zzz</a> и <img src="...">

Стиль (wizard-smoothsailing) специально взял такой, который позволяет просто указывать текст с html-разметкой, не диктуя мне, что и в каком порядке показывать.
29th-Sep-2007 06:26 pm (UTC)
ага, ясн... да ладно, я вроди нашёл уже чего надо)))
29th-Sep-2007 06:27 pm (UTC)
ну и спасибо конечно)
30th-Sep-2007 01:32 am (UTC)
А вот так картинки загружаются пачкой:

mass-upload to picasaweb from Linux
http://uucode.com/blog/2007/09/28/mass-upload-to-picasaweb-from-linux/
13th-Oct-2007 07:32 pm (UTC)
Спасибо, тоже заначу на будущее - вдруг когда-нибудь захочется фотографии на пикассу перенести.
1st-Oct-2007 11:39 am (UTC) - вопрос, простите
так и непонял, как сделать вот такое:
Xtract '//media:content/(@pavad + @url)' album.xml > IMAGES

с xml тэгами - работает
Xtract '//media:content/(tpavad + turl)' album.xml > IMAGES
, а с атрибутами - нет...

можно ли вытащить несколько атрибутов из хмл файла?
А-ля:
картинка1 http://www.zz.com/bubu.jpg
картинка2 http://www.zz.com/bubu2.jpg

4th-Oct-2007 01:38 pm (UTC) - Re: вопрос, простите
Картинки уже за-expire-лись, похоже :(

Попробовал извлечь несколько аттрибутов ... Да, похоже, что это баг. Если дойдут руки - накатаю багрепорт, но рекомендую вам сделать это самостоятельно. По моему опыту - автор реагирует очень оперативно.
3rd-Oct-2007 01:51 am (UTC)
Оказывается в Debian есть, пакет haxml. А я промучался несколько часов, пытаясь скомпилировать сам, потому что бинарник из ссылки не работает. Зато узнал много про haskell.
7th-Oct-2007 05:51 pm (UTC)
Anonymous
www.picasa2html.com
?
13th-Oct-2007 07:28 pm (UTC)
О, спасибо. Заначу на будущее.
21st-Mar-2008 10:42 am (UTC)
простите, но я видимо не правильно что то сделал.
скачал эту прогу, в командной строке все это записал, прога создает файл имиджы но туда ничего не выдергивается. что делать?
22nd-Mar-2008 03:24 pm (UTC)
Похоже, версия на сайте (0.7) имеет-таки какой-то баг по сравнению с версией, которую можно собрать из исходников (1.19) :(
24th-Mar-2008 07:19 am (UTC)
да уж, собрать мне точно не удастся
27th-Mar-2008 11:29 pm (UTC)
Бинарниками под linux могу поделиться, под другие платформы - увы. Но на Xtract свет клином не сошелся - есть другие утилиты с похожей функциональность.
28th-Mar-2008 07:38 am (UTC)
не, спасибо, мне вот это помогло http://www.picasa2html.com/
This page was loaded May 21st 2008, 11:55 pm GMT.