|
Poziom średnio zaawansowany + zaawansowany 30 godzin dydaktycznych Certyfikat ukończenia Kursy e-learningowe LabMasters: informacja Koordynator: Piotr Ćwiakowski (pcwiakowski@labmasters.pl) Oprogramowanie: Python / Jupyter Notebook Miejsce: Platforma Moodle |
Opis kursu
Kurs Aplikacje webowe, web scraping i programowanie w Pythonie stanowi naturalną kontynuację kursu Analiza danych i programowanie w Pythonie. Celem kursu jest głębsze poznanie tego języka programowania i możliwości jego wykorzystania w dziedzinie Data Science. Uczestnicy z jednej strony poznają zagadnienia i pakiety rozszerzające możliwości pracy jako analityka danych, jak również zapoznają się z tymi elementami języka Python, które zdecydowanie wykraczają ponad poziom podstawowy.
Zakres merytoryczny kursu obejmuje następujące zagadnienia: pakiety umożliwiające kontrolę plików w formacie Excel z poziomu Pythona, techniki wykorzystywania formatów JSON oraz XML, metody zbierania dużych ilości danych z internetu (web scraping) oraz technologię tworzenia aplikacji webowych zawierających interaktywne wykresy. Ponadto, Słuchacze poznają elementy języka Python, które są na co dzień wykorzystywane przez doświadczonych programistów przy tworzeniu popularnych bibliotek.
Kurs ma charakter warsztatowy i intensywny. Podczas każdych zajęć oprócz prezentacji wyczerpująco skomentowanych skryptów Pythona, słuchacze wykonują pod kierunkiem prowadzącego wiele krótkich ćwiczeń i zadań, które sprawiają, że wiedza przekazywana na zajęciach natychmiast zamienia się w konkretne umiejętności. Kończąc niniejszy kurs, Słuchacz będzie potrafić samodzielnie tworzyć programy w Pythonie, a także pisać aplikacje, które wspierają proces analizy danych.
Zapisy
Rejestracja na kurs jest aktywna
Termin: brak sztywnych terminów – ciągły dostęp do kursu przez okres jednego roku
Miejsce: platforma e-learning MOODLE
Tematyka kursu
Programowanie funkcyjne w Pythonie.
Operator * i **. Funkcja jako first-class-object. Funkcje rekurencyjne. Wykorzystywanie dekoratorów i generatorów. Przydatne tricki, polecenia i dedykowane biblioteki do programowania funkcyjnego (functools, itertools).
Programowanie obiektowe w Pythonie.
Wprowadzenie do obiektowości. Tworzenie i stosowanie klas w praktyce. Dziedziczenie obiektów, pełną charakterystyka tworzenia obiektów, procedury magiczne (w tym przeciążanie operatorów) i context managerów. Dobre praktyki organizacji kodu. Popularne narzędzia w programowaniu obiektowym (np. dataclass).
Wyrażenia regularne.
Przypomnienie metod obiektu string. Wprowadzenie do funkcji biblioteki re. Tworzenie wyrażeń regularnych, definiowanie klas, wykorzystanie kwantyfikatorów, alternatywy, granic, kotwic i asercji.
JSON i XML (pakiety json, ujson, lxml).
Wczytywanie i zapisywanie danych w formacie JSON i XML. Konwersja danych pomiędzy JSON a natywnymi strukturami Pythona. Przeszukiwanie drzew XML, wykorzystanie xpath ((XML Path Language). Iteracyjne czytanie elementów drzewa.
Web scraping (pakiety Requests i Selenium, BeautifulSoup).
Odpytywanie prostych stron internetowych oraz API z wykorzystaniem pakietu requests, w tym przesyłanie nagłówków, wykorzystanie GET oraz POST. Analiza kodu HTML i jego przetwarzanie z wykorzystaniem BeautifulSoup. Web scraping stron dynamicznych opartych o JavaScript z wykorzystaniem Selenium.
Zaawansowane przetwarzanie danych (m. in. polars, pandas, pyodbc, openpyxl).
Zaawansowane przetwarzanie danych. Tricki i zaawansowane case’y analityczne w Pandasie. Omówienie rozszerzeń Pandasa (pandas-profiling, pandas-weighting, geopandas). Komunikowanie Pythona z SQL (pakiety sqlite, pyodbc). Komunikacja Pythona z Excelem w pakietach xlsxwriter/openpyxl. Omówienie pakietu Polars.
Dobre praktyki w programowaniu.
Omówienie PEP i Zen of Python. Zasady efektywnego tworzenia kodu. Omówienie technik zrównoleglania kodu wPythonie. Tworzenie modułów, pakietów oraz skryptów wykonywalnych. Testy jednostkowe w pytest. Kontrola błędów i programowanie defensywne. Automatyzacja pracy z bibliotekami path, glob i os.
Aplikacje webowe i wizualizacje interaktywne (pakiety Bottle, ChartJS, Bootstrap, plotly).
Tworzenie prostych stron internetowych. Zapoznanie z podstawami HTML, CSS i wykorzystaniem frameworka Bootstrap. Tworzenie aplikacji z wykorzystaniem Bottle, obsługa tras, template’ów, dynamicznego przekazywania danych, obsługa POST i GET po stronie serwera, praca z formularzami, uruchamianie interaktywnych wykresów z pomocą ChartJS. Przykłady interaktywnych wykresów w Pythonie.
Czego się nauczysz
Na kursie Aplikacje webowe, web scraping i programowanie w Pythonie, nauczysz się pracy w języku Python na poziomie zaawansowanym. Będziesz potrafił(a) automatyzować zadania analityczne, wykorzystując web scraping i interaktywne wizualizacje w aplikacjach webowych. Ogromnym atutem będzie opanowanie zaawansowanych technik programowania, m.in. przetwarzania równoległego, tworzenia skryptów wykonywalnych, pracy z formatami XML i JSON. Ponadto, poznasz sposoby integracji środowiska Python z pakietem MS Excel.