Deadline: to zadanie jest na zaliczenie (TAK/NIE), trzeba je oddać na drugim lub trzecim laboratorium osobie, która prowadzi zajęcia.
To zadanie wymaga Pythona. Być może nie umiesz jeszcze Pythona w ogóle. Na końcu tej strony znajdziesz przydatne informacje.
W tym zadaniu masz napisać program, który przygotuje statyczną witrynę internetową i wystawi ją “w internecie”.
Precyzyjniej:
otwarciom szachowym (https://chessfox.com/chess-openings-list/)
Ważna informacja: strona ta powinna zawierać listę elementów, które można łatwo zescrapować (np. lista języków programowania, lista otwarć szachowych, lista tiktokowych influencerów), lista ta może być w formie tabeli, listy, itp.
Witryna powinna zawierać
Witryna powinna być wygenerowana przez Jekylla lub coś podobnego (np. Hugo). Powinna być wystawiona na github.io lub na students.
Wystawianie na github.io jest opisane tutaj: https://pages.github.com/
Przykładowe zrzuty ekranu z witryny internetowej, którą przygotowałem na potrzeby tego zadania:
Jeśli nie znasz Pythona, polecamy oficjalny tutorial.
Zanim zaczniesz instalować biblioteki Pythona, koniecznie utwórz środowisko wirtualne (venv
). Izoluje ono zależności Twojego projektu od globalnych pakietów Pythona w systemie, dzięki czemu:
Jak używać venv
(wbudowane w Pythona):
python -m venv .venv
(zamiast .venv
możesz wpisać dowolną inną nazwę)source .venv/bin/activate
.venv\Scripts\activate.bat
.venv\Scripts\Activate.ps1
pip install requests beautifulsoup4
deactivate
Pamiętaj, że używanie środowiska wirtualnego prawie zawsze jest lepszą opcją niż sudo pip install
!
Zarządzanie zależnościami:
Aby ułatwić odtworzenie środowiska na innej maszynie, warto zapisać używane biblioteki w pliku requirements.txt
: pip freeze > requirements.txt
. W celu zainstalowania wymaganych przez projekt bibliotek zapisanych w pliku requirements.txt
można użyć: pip install -r requirements.txt
. Pamiętaj aby powyższych poleceń używać po aktywowaniu środowiska wirtualnego.
W trakcie rozwiązywania trzeba też będzie ściągnąć strony z internetu i stworzyć własne strony w formacie markdown:
Możesz użyć dowolnych narzędzi do zescrapowania strony internetowej, ale musisz napisać własny program, który to zrobi. Mogą się tu przydać:
Aby zarzadzać wirtualnym środowiskiem możesz użyć uv
- nowoczesnego, bardzo szybkiego narzędzia zastępującego pip
i venv
. Musisz je najpierw zainstalować (np. przez pipx install uv
lub pip install uv
).
uv venv
uv pip install requests beautifulsoup4
uv pip freeze > requirements.txt
uv pip install -r requirements.txt