Как стать автором
Обновить

Комментарии 24

Для этого есть аддоны для браузеров, например.
Я не говорю, что зря писали скрипт, на «велосипедах» и учат программирование, по началу :)
И зачем мне на фряхе браузер? ;)
Инструмент, который автор предоставил, является общим для любых манипуляций с VK API. Найдите-ка аддоны для проверки леммы о 6 рукопожатиях, или для таймера обратного отсчета прямо у вас в статусе :)
Про таймер не понял.
Про 6 рукопожатий — я писал скрипт и публиковал в паблике (правда не для вконтакте).
Про таймер: я, например, когда-то публиковал статусы вроде «25 дней до конце сессии» или «400 дней до начала Евро2012», но само собой рано или поздно забывал обновить. Написать простенький скрипт для такого достаточно легко, и инструмент для авторизации в этом поможет.

Я вообще к тому, что ценность скрипта не только в скачивании фотографий, а и (возможно, даже больше) в самом процессе авторизации.
Скрипт для скачивания фотографий практически никакой ценности не несет, я его добавил только для демонстрации работы с модулем авторизации.
Несколько месяцев назад я модифицировал немного чужой класс для работы с API, тогда он вполне работал github.com/inlanger/pyvk, может кому пригодится. Подход немного отличается от предложенного автором этой статьи.
Интересно. Вчера велосипеда ради написал скриптик, что скачивает все треки музыкального альбома из VK по его названию (т.е. ищет по названию альбом на last.fm, получает список треков, и выкачивает их из VK). Но вот авторизация проходится вручную. Теперь возможно реализую ваш вариант.
Спасибо, что на Python!
> «Единственная проблема – не существует нормального способа, для получения доступа к API.»

Это почему?
На страничке vk.com/developers.php есть запрятанная кнопка «создать приложение» в верхнем правом углу. Сразу в глаза не бросается. Располагается чуть ниже кнопок меню «музыка» и «помощь».

Прямая ссылка:
vk.com/editapp?act=create

Присутствует довольно внятная документация по созданию standalone приложений. Хотя, конечно, у твиттера документацию по oauth 2.0 читать приятнее.
Это само собой разумеется: надо создать приложение и использовать его client_id. Я просто на этом не акцентировал внимание. Но чтобы использовать API из standalone приложения, нужно авторизироваться и получить token. Единственный способ авторизироваться, описаный тут, как раз начинается с «Открытия окна браузера...».
Хотя нет, в этом случае доступен только ограниченный функционал.

В качестве [standalone] клиента может выступать любое Desktop/мобильное приложение, имеющее доступ к управлению Web-браузером (например, компонент UIWebView при создании приложения для iOS).

Похоже что действительно без браузера не обойтись. Печально. В твиттере, например, такая возможность предусмотрена.
Документация-то есть, но ещё год назад без своего доменного имени приложение нельзя было делать, насколько помню.
находил на github'е навороченную, написанную на python

З.Ы. Не спорю, свое милее.
А скиньте ссылку, если не сложно. Я не смог найти. Если бы нашел, то не стал велосипед изобретать.
А чем вам Mechanize не понравился? По редиректам ходит, куки сохраняет.
В вашем скрипте вы 2 раза импортируйте json?
Да, ошибка.
На гитхабе в исходнике ошибка (83 строка), ТС вместо parser.method ссылается на params.method. Эта ошибка в обработке ошибки, поэтому не срабатывала, поэтому ее не заметили. Будьте внимательны, кто намерен пользоваться. Но либа получилась годная, код хороший.
Спасибо, поправлю. В свое оправдание скажу, что эта ошибка не возникала никогда, и вряд ли когда-нибудь возникет, так что ничего страшного.
Ну я так и подумал, поэтому и решил обратить внимание. А то неприятно было бы словить редкий эксцепшн в теле эксцепшна))
Столкнулся с получением на выходе набора абстрактных картинок, решил заменой атрибута в последней строке функции save_photos на
open(filename, "wb").write(urllib2.urlopen(url).read())

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории