Masowe pobieranie i wysyłanie plików na Chomikuj.pl
Chomikuj.pl to jedno z ciekawszych archiwów polskiego Internetu. Można tam znaleźć rzeczy, które dawno zniknęły z innych miejsc, od PDFów studentów po zarchiwizowane słuchowiska. Rok temu opisywałem mały pomocniczy skrypt do masowego pobierania. Teraz przepaliłem trochę tokenów, żeby zrobić z niego pełniejsze narzędzie. To jeden plik Pythona, który potrafi zarówno pobierać, jak i wysyłać całe foldery na Chomikuj.pl.
Chomyk jest dostępny na GitHubie.
Co potrafi
Najważniejsza zmiana jest prosta: nie trzeba już wybierać między pojedynczym plikiem a ręcznym przeklikiwaniem całej struktury folderów. Skrypt pobiera foldery w całości i zachowuje ich układ na dysku. Przy wysyłaniu robi to samo w drugą stronę.
Do tego dochodzi kilka praktycznych drobiazgów:
- można uruchomić kilka transferów naraz;
- przerwane pobieranie lub wysyłanie można wznowić;
- podczas wysyłania skrypt sprawdza sumę CRC32, dzięki czemu nie przesyła ponownie plików, które już są na serwerze;
- w konsoli pokazuje postęp, aktualną prędkość i przewidywany czas zakończenia.
Pierwsze uruchomienie
Potrzebny jest Python 3 oraz biblioteki requests i urllib3. Po pobraniu repozytorium wystarczy uruchomić:
python3 chomyk.py
Przy pierwszym starcie program poprosi o login i hasło, a następnie może zapisać je w pliku config.json. To wygodne, ale warto pamiętać, że są tam zapisane zwykłym tekstem.
Bez parametrów otworzy się proste menu: pobieranie plików z listy linków list.txt, pobieranie folderu na podstawie wklejonego w konsoli linka lub wysyłanie pliku lub folderu.