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.

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







