Wygodne pobieranie tapet National Geographic
12 lutego 2010Pobranie większej liczby tapet dostępnych na stronach National Geographic to nie jest coś co chcielibyśmy robić „ręcznie” za pomocą przeglądarki internetowej. Można by wprawdzie skorzystać z paczek zebranych i udostępnionych przez innych, ale nie jestem pewien czy taka metoda nie łamie prawa autorskiego. Ponadto zbiór tapet jest co miesiąc aktualizowany o kolejne pliki, więc gdyby chcieć posiadać naprawdę wszystkie, sposób ten stałby się uciążliwy.
Dotychczasowe rozwiązania
W sieci, od stosunkowo niedawna, natrafić można na mini-skrypty napisane w bash-u pobierające wszystkie tapety konkursowe. Poza konkursem jednak NG publikuje także inne tapety, których owe skrypty nam nie pobiorą. Na blogu Macieja Urbańskiego można znaleźć lepsze rozwiązanie, które przy odrobinie gimnastyki pozwoli nam osiągnąć zamierzony cel — wszystkie tapety NG. Nie jest jednak ono pozbawione pewnych wad:
- Serwer za każdym razem jest odpytywany o wszystkie pliki ponownie;
- Nie ma możliwości pobrania wszystkich tapet za jednym uruchomieniem bez ściągania duplikatów w nieinteresujących nas rozmiarach;
- Przy ustawieniu zmiennej res jako pustej, skrypt pobierze również zbędne dla nas miniaturki.
getNGWalls — założenia
nie są rewolucyjne, są raczej rozwinięciem idei Macieja Urbańskiego.
- Jedno uruchomienie — wszystkie tapety. Bez duplikatów, bez miniaturek;
- Ponowne uruchomienie — odpytuj serwer tylko o niepobrane jeszcze tapety;
- Pliki pobierane są do katalogu spod którego wywoływany jest skrypt;
- Spróbuj działać także pod Łindołsem (bez wgeta);
- Niech to się nadaje do wrzucenia w Crona.
Realizacja
w pythonie, z wykorzystaniem modułów: os, urllib, re oraz xml.dom; opublikowana na licencji GPL w wersji trzeciej.
FidBek
w postaci uwag krytycznych oraz zachwytów jest bardzo wskazany (to raptem mój drugi kawałek kodu w pythonie, który robi coś pożytecznego).
trackback