Scrapy: web scraping

Najbliższe terminy tego szkolenia
Skuteczność
Program szkolenia
- Czym jest webscraping?
- O Robots.txt
- User-agent
- Jak serwery rozpoznają boty?
- Etyka
- Ogólnie panujące zasady
- Przykłady platform korzystających z webscrapingu
- Jak działa protokół HTTP?
- Struktura HTML
- Kody HTTP zwracane przez serwery
- Nagłówki zwracane przez HTTP
- Rodzaje typów zawartości zwracanych przez serwery http
- Najbardziej popularne narzędzia
- Selenium
- Requests
- BeautifulSoup
- Scrapy
- Użycie klasy scrapy.Spider
- Konfiguracja bota - start_urls, custom_settings, allowed_domains
- Jak generować listę URL do odwiedzenie
- Metody klasy scrapy.Spider - jak używać
- Definiowanie klas pobieranych danych
- Jak parsować XML/HTML
- Wyszukiwanie elementów HTML po atrybutach
- Xpath
- Przydatne narzędzia
- Regexp101
- Xpath helper
- Jak parsować JSON
- Biblioteka json
- Jak parsować tekst - o wyrażeniach regularnych
- Biblioteka re
- Flagi w wyrażeniach regularnych
- Jak pobierać obrazy i inne typy plików
- Zapisywanie wartości plików binarnych z użyciem biblioteki io
- Definiowanie klas pobieranych rekordów - scrapy.Item
- Walidacja pobieranych rekordów
- Standaryzacja pobieranych rekordów
- Przetwarzanie pobieranych rekordów
- Łaćuchy wywołań metod
- Czym jest callback? Jak działa?
- Przekazywanie wartości pomiędzy zapytaniami
- Scrapowanie strony na przykładzie:
- Pobieranie danych z użyciem xpath oraz regex
- Łańcuchy zapytań
- Warunkowe przerwanie scrapingu
- Zaawansowany scraping
- Cookies
- Formularze
- Prosy
- Inne przeszkody wymagające
- Użycie scrape shell
- Web crawling
- Crawling całych domen
- Podążanie za znalezionymi linkami wewnątrz domeny
- Filtrowanie znalezionych linków
- Problemy:
- Javascript
- Obsługiwanie wyjątków
- Captcha, bany, limity
- Uruchamianie scrapy na platformie zyte.com
- Deployment za pomocą CLI
- Deployment za pomocą klienta web
- Scrapowanie za pomocą Cron
- Statystyki
- Zapisywanie rezultatów scrapingu na przykładzie AWS S3 i lokalnie
- Zapisywanie rezultatów z użyciem Item Pipeline w Scrapy
Opis szkolenia
Szkolenie odbywa się na żywo z udziałem trenera. Nie jest to forma kursu video!
O skoleniu w skrócie
Warsztatowe szkolenie z webscrapingu prowadzone przez trenera z komercyjnym doświadczeniem w tej dziedzinie.
Dla kogo?
Aby uczestniczyć w tym szkoleniu potrzebna jest podstawowa wiedza z programowania w języku Python - jak definiować klasy, pisać funkcje i uruchamiać skrypty w języku Python.
Charakter szkolenia
Szkolenie ma charakter warsztatowy. W trakcie szkolenia uczestnicy otrzymają praktyczną wiedzę na temat webscrapingu. Każde omówione zagadnienie podsumowane jest kilkoma następującymi po sobie ćwiczeniami o wzrastającym poziomie trudności. W ramach szkolenia napisane będą programy w języku Python pozwalające na cykliczne pobieranie danych z 5 stron.
Przebieg szkolenia
- Zajęcia rozpoczynamy omówieniem webscrapingu - jakie daje nam możliwości, jak przebiega.
- Zajęcia praktyczne rozpoczynamy instalacją i konfiguracją interpretera języka Python oraz IDE - Visual studio code. Uczestnicy szkolenia mogą pracować na dowolnym innym znanym sobie IDE.
- Po poznaniu podstaw zajmiemy się budową scrapera pobierającego listę aktualnie popularnych książek z przygotowanej strony.
- W kolejnym kroku pobierać będziemy dane umieszczone na powiązanych stronach takich jak podstrona zawierające szczegóły o książce czy zdjęcia.
- Poznamy bliżej narzędzia w przeglądarce Firefox umożliwiające sprawne pobieranie danych z witryn, rozpoznanie najlepszej metody pobierania danych i sprawdzania poprawności Xpath.
- Pobierzemy dane z kilku popularnych portali za pomocą różnych metod - poprzez API, HTML, RSS.
- Dowiemy się jak sprawnie przetwarzać dane po pobraniu ich, jak walidować, przetwarzać i zapisywać dane cyklicznie uruchamianych scraperów.
- Wdrożymy stworzone programy na platformę Zyte i dowiemy się jak korzystać z platformy by zarządzać scraperami.
Prowadzący szkolenie: Łukasz Jaworowski
Zawodowo programista od 8 lat. Typowy praktyk lubiący rozwiązywanie problemów biznesowych od koncepcji do gotowego programu.
Skupiony na technologiach backendowych. Zaczynał od Javy, większość czasu w pracy spędził programując systemy przetwarzania danych oraz aplikacji webowych z użyciem języka Python i AWS.
Od 2021 roku pracuje jako lider techniczny w projektach Golang w firmie z obszaru security/crypto.
Doświadczenie zdobywał w startupach, Fintechach, bankach oraz realizując projekty jako freelancer.
W wolnym czasie poza programowaniem lubi sport i inne formy rywalizacji.
Gdy na jakiś termin zgłosi się minimalna liczba osób, termin oznaczamy jako gwarantowany.
Jeśli jakiś termin oznaczony jest jako gwarantowany to oznacza to, że na 100% się odbędzie we wskazanym czasie i miejscu.
Nawet gdyby część takiej grupy zrezygnowała lub przeniosła się na inny termin, raz ustalony termin gwarantowany takim pozostaje.
Ewentualne ryzyko ponosimy my jako organizator.
Przejdź do terminów tego szkolenia

Sprawdź, co mówią o nas ci, którzy nam zaufali
Trenerzy kategorii Python




Programista z ponad 12 letnim stażem, pracował dla klientów z Norwegii, Szwecji, Wielkiej Brytanii oraz Niemiec. Pracował dla takich firm jak Schibsted Tech Polska oraz PrimeQ tworząc strony o bardzo dużym natężeniu ruchu, skrypty automatyzujące pracę innych, w tym także crawlery. Trener, który na sali spędził ponad 5000h prowadząc szkolenia z baz danych, programowania w Pythonie i PHP.
Kacper uważa, że język programowania to tylko narzędzie w rękach doświadczonego dewelopera, dlatego nieustannie lubi uczyć się nowych rzeczy oraz zarażać miłością do programowania innych (stąd pewnie ten kanał na Youtubie -> Kacper Sieradziński).



