Projekt Web Scraper Lubimyczytać.pl
Automatyzacja pobierania danych o książkach
Projekt implementuje zaawansowany web scraper do pozyskiwania danych o książkach z portalu Lubimyczytać.pl. System pozwala na automatyczne zbieranie informacji z profili użytkowników i eksport do formatu CSV. Natępnie możliwa jest konwersja do formatu CSV przyjmowanego przez Goodreads.
Główne funkcjonalności
Kompleksowa ekstrakcja metadanych książek z automatycznym wykrywaniem struktury strony. Zbierane są wszystkie istotne informacje o książkach, w tym dane identyfikacyjne, statystyki ocen, informacje o serii oraz personalne oznaczenia użytkownika. Wykorzystanie z Selenium do interakcji z dynamicznie ładowanymi elementami strony, co pozwala na zebranie każdej ksiżki na stronie profilu użytkownika, nastepnie selenium przejdzie do następnej strony i powtórzy proces, aż do zebrania wszystkich książek. Kolejny krok to uzyskanie brakujących takich jak orginalny tytuł, czy ISBN poprzez wejście bezpośrednio w link do książki.
📚 Zbierane dane
📁 Struktura projektu
⚙️ Technologie
Przygotowanie do użycia:
- Wymagany Python 3.x zainstalowany na komputerze
- Aplikacja działa w trybie konsolowym - uruchamiaj przez terminal/CMD
- Przed uruchomieniem zainstaluj zależności
- Gotowy plik goodreads.csv zaimportuj na stronie:
goodreads.com/review/import - Import książek może zająć kilka minut.
- Na tem moment około 95% ksiązek jest poprawnie importowanych.
Aby skonfigurować scraper, należy edytować plik config.ini i podać swój unikalny adres URL profilu na Lubimyczytać.pl.
[settings]
profile_url = https://lubimyczytac.pl/profil/605200/stokuj/
to do
# Instalacja zależności
pip install -r requirements.txt
# Uruchomienie scrapera
python main.py
Przykładowe dane wyjściowe
| Tytuł | Autor | Ocena | Półki |
|---|---|---|---|
| Mistrz i Małgorzata | Michaił Bułhakow | 8.9/10 | klasyka, rosyjska |
| Władca Pierścieni | J.R.R. Tolkien | 9.5/10 | fantasy, ulubione |
Możliwości rozbudowy
📊 Analiza danych
- Integracja z Pandas
- Wizualizacje w Matplotlib
🌐 API
- REST API FastAPI
- Autoryzacja JWT
🖥️ GUI
- Interfejs Tkinter
- Web Dashboard