wtorek, 3 lutego 2009

Ściąganie wszystkich zdjęć wybranego użytkownika z portalu Nasza-Klasa - wersja 3

UWAGA: Sktypt ma wyłącznie na celu pokazanie możliwości języka Python i jego bibliotek. Autor nie ponosi żadnej odpowiedzialności za działania skryptu oraz ewentualne straty nim spowodowane, pamiętaj korzystasz z niego na własną odpowiedzialność. Przed skorzystaniem upewnij się, że jego działanie jest zgodne z regulaminem serwisu Nasza-Klasa.

Udostępniam najnowszą i najbardziej dopracowaną wersję skryptu, w której nie trzeba podawać parametru max, ponieważ sprawdzam id ostatniego zdjęcia. To praktycznie wystarcza, bo jeśli użytkownik usunie jakieś zdjęcie pomiędzy to po prostu nie zostanie ono poprane( 404).

skrypt.py

potrzebna biblioteka httplib2:

httplib2


A więc ostateczna lista parametrów:
naszLogin naszeHasło Id

PS.
Proszę nie męczcie mnie już pytaniami jak zainstalować pythona czy jakieś biblioteki, albo dlaczego skrypt nie działa.

12 komentarzy:

Anonimowy pisze...

Skrypt dziala. Lecz nie sciaga mi zdjec ukrytych. Czy to jakis problem u mnie? Korzystajac z okazji - Istnieje jakies skrypt przez ktory mozna zobaczyc skad sie osoba logowala (IP)? Pozdrawiam

Log_1 pisze...

Ad1) Jeśli osoba, której zdjęcia chcesz pobrać nie udostępniła Tobie galerii prywatnej( zdjęć ukrytych), to niestety nie pobierzesz ich tym skryptem.

Ad2) Nic mi na ten temat nie wiadomo, aczkolwiek możliwe że IP jest gdzieś przechowywane.

Pozdrawiam.

Anonimowy pisze...

Hej, działa to jeszcze? Bo mi zdjęć nie ściąga. Być może coś zmienili na NK?

Log_1 pisze...

Ostatnio wprowadzono drobną zmianę na naszej-klasie: poklasyfikowno zdjęcia w albumach, dlatego skrypcik jest już nieaktualny. Jak znajdę chwilę czasu postaram się poprawić ten skrypt.

Danix pisze...

Dzięki za bardzo szybką odpowiedź, na razie spróbuje sam coś zmienić, chociaż nie mam żadnych umiejętności dot. Pythona :( Jak by coś to dam znać, pozdrawiam.

Log_1 pisze...

OK, wprowadziłem pare poprawek, przy okazji zoptymalizowałem troche skrypt: teraz ściąga zdjęcia ze starego i nowego interface'u; ale uwaga: jeśli z nowego to tylko album głowny.

Danix pisze...

Dzięki wielkie!!!

Danix pisze...

Jedno pytanie, jak zrobić aby zapisywał zdjęcia pod oryginalną nazwą (np. ae378b6c82), a nie 1,2,3 itd? Znalazłem linię odpowiedzialną za zapisywanie zdjęć o określonej nazwie, ale nie potrafię zmienić tego by zapisywał w tej oryginalnej, a nie określonej przez zmienną counter...

Log_1 pisze...

fname = str(image[0])
outfile=open(username+"/"+fname[fname.rfind('/')+1:]+".jpg", "wb")

2 poprawka, bo sie rozpędziłem:)

Danix pisze...

Już chciałem pytać co źle robię, a tu poprawka i działa :) raz jeszcze dzięki!
(nie trzeba ".jpg" bo zdjęcia mają oryginalnie .jpeg)

Teraz tylko robię pętle na wszystkich użytkowników NK, dokupuje kilkanaście dysków i leeece :)

Anonimowy pisze...

Jest jakas szansa aby skrypt pobieral wszystkie zdjecia a nie tylko 9 pierwszysch?

Log_1 pisze...

Jasne, przepraszam - przez swoją lekkomyślność za bardzo zoptymalizowałem główną pętle.

Teraz powinno działać.

Chyba zastosuje jakiś system bugtrackingu:)