niedziela, 1 lutego 2009

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

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 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.

Napisałem prosty skrypcik do sciągania n pierwszych zdjęć użytkownika o znanym Id na Naszej-Kasie. Już tłumaczę jak on działa i co porzebujemy:

1) musimy mieć konto w serwisie Nasza-Klasa
2) musimy znać id użytkownika, którego zdjęcia chcemy pobrać: można je łatwo znaleść na przykład w pasku adresu url( http://nasza-klasa.pl/profile/xxxxxxx, gdzie xxxxxxx to właśnie to Id)
3) ponieważ mój sktypt jest troche prymitywny:) i nie sprawdza ilośći zdjęć naszego użytkownika musimy podać ile zdjęć chcemy ściągnąć - ale tu można podać spokojnue większą liczbe, bo skrypt jest odporny na błędny
4) i wreszcie najważniejsze: musimy mieć zainstalowanego pythona i parę bibliotek( przypuszczam że wszyskie są w katalogu lib Pythona)
5) WAŻNE: musimy pobrać cookie zalogowanego użytkowika, bo jak na razie skrypt tego nie robi, i wpisać je do zmiennej:

cookies = 'remember_me=...; __utma=...; cookies += ' nk_session=...'

polecam Live HTTP Header do tego celu, można je znaleść też w przeglądarce( Firefox2: Narzędzia->Opcje->Wyświetl Ciasteczka->'wpisujemy w filtrze: nasza-klasa'->i odczytujemy poszczególne ciastka)

jak uruchamiać?:

Linux:
$ python nasza-klasa.py Id max (np. $ python nasza-klasa.py 1234567 50)
Windows:
start->cmd i wpisujemy: nasza-klasa.py Id max

no i źródła:

nasza-klasa.py

miłej zabawy, pozdro

TO DO:
* ułatwić podawanie cookies
* oprzeć silnik na RSS/XML

2 komentarze:

Anonimowy pisze...

syntax error kolego;(/??

Log_1 pisze...

Typowa odpowiedz z mojej strony brzmi: "Dziwne, u mnie działa" ;)
A tak na serio, to gdzie masz ten syntax error( która linia kodu) - sprawdź wcięcia. Aha to jest link do najnowszej wersji, gdzie podawane są 3( lub 4 parametry) - poczytaj post wyżej.