feat: Add installation scripts for Windows and Unix-based systems
- Created `install_and_run.bat` for Windows installation and setup. - Created `install_and_run.sh` for Unix-based systems installation and setup. - Removed `main.py` as it is no longer needed. - Updated `requirements.txt` to specify package versions and added PyQt5. - Deleted `start.bat` as it is redundant. - Added unit tests for core functionality and scraping modes. - Implemented input validation utilities in `utils/validators.py`. - Added support for dual scraping modes in the scraper.
This commit is contained in:
148
README.md
148
README.md
@@ -1,86 +1,90 @@
|
||||
# EBoek.info Scraper
|
||||
|
||||
Een geautomatiseerde scraper voor het downloaden van stripverhalen van EBoek.info.
|
||||
Een moderne PyQt5 GUI applicatie voor het scrapen van EBoek.info met dual scraping modes, real-time voortgangsmonitoring en veilige opslag van inloggegevens.
|
||||
|
||||
## Vereisten
|
||||
## ✨ Functies
|
||||
|
||||
- Windows 10 of hoger
|
||||
- Python 3.8 of hoger
|
||||
- Google Chrome browser
|
||||
- EBoek.info account
|
||||
- **Twee scraping modi**: All Comics en Latest Comics
|
||||
- **Gebruiksvriendelijke GUI** met real-time voortgang
|
||||
- **Veilige credential opslag** in JSON config
|
||||
- **Cross-platform** ondersteuning (Windows/macOS)
|
||||
- **Background threading** - GUI blijft responsief
|
||||
- **Graceful cancellation** tijdens operaties
|
||||
|
||||
## Installatie
|
||||
## 📋 Vereisten
|
||||
|
||||
### Stap 1: Python installeren
|
||||
- **Python 3.8+**
|
||||
- **Google Chrome** browser
|
||||
- **EBoek.info** account
|
||||
|
||||
1. Download Python van [python.org](https://www.python.org/downloads/)
|
||||
2. Tijdens installatie: vink **"Add Python to PATH"** aan
|
||||
3. Open Command Prompt en controleer de installatie:
|
||||
```
|
||||
python --version
|
||||
```
|
||||
## 🚀 Installatie
|
||||
|
||||
### Stap 2: Chrome WebDriver installeren
|
||||
### Windows
|
||||
Dubbelklik op `install_and_run.bat`
|
||||
|
||||
De ChromeDriver wordt automatisch geïnstalleerd bij het eerste gebruik. Zorg dat Google Chrome up-to-date is.
|
||||
|
||||
### Stap 3: Benodigde Python packages installeren
|
||||
|
||||
Open Command Prompt in de projectmap en voer uit:
|
||||
```
|
||||
python -m pip install selenium requests urllib3
|
||||
### macOS / Linux
|
||||
```bash
|
||||
chmod +x install_and_run.sh
|
||||
./install_and_run.sh
|
||||
```
|
||||
|
||||
### Stap 4: Login gegevens instellen
|
||||
|
||||
Open `main.py` in een teksteditor (bijvoorbeeld Notepad) en pas regel 189 aan met je EBoek.info inloggegevens:
|
||||
```python
|
||||
scraper.login("jouw_gebruikersnaam", "jouw_wachtwoord")
|
||||
```
|
||||
Vervang `"jouw_gebruikersnaam"` en `"jouw_wachtwoord"` met je echte gegevens.
|
||||
|
||||
## Gebruik
|
||||
|
||||
### De scraper starten
|
||||
|
||||
1. Open Command Prompt
|
||||
2. Navigeer naar de projectmap:
|
||||
```
|
||||
cd pad\naar\EBOEK.INFO SCRAPER
|
||||
```
|
||||
3. Start het script:
|
||||
```
|
||||
python main.py
|
||||
```
|
||||
|
||||
### Stappen tijdens gebruik
|
||||
|
||||
1. **Inloggen**: Het script logt automatisch in met de opgegeven gebruikersnaam en wachtwoord
|
||||
2. **Pagina selectie**:
|
||||
- Voer het startpaginanummer in (1 voor de eerste pagina)
|
||||
- Voer het eindpaginanummer in (zelfde als start voor één pagina)
|
||||
3. **Downloaden**: Het script zal:
|
||||
- Alle strips op de geselecteerde pagina's bezoeken
|
||||
- De downloadlinks activeren
|
||||
- Bestanden downloaden naar je Chrome Downloads map
|
||||
4. **Afsluiten**: Druk op Enter om de browser te sluiten
|
||||
|
||||
### Voorbeelden
|
||||
|
||||
- **Één pagina downloaden**: Start=2, Eind=2 (download alleen pagina 2)
|
||||
- **Meerdere pagina's**: Start=1, Eind=5 (download pagina 1 t/m 5)
|
||||
- **Eerste pagina**: Start=1, Eind=1
|
||||
|
||||
## Downloads locatie
|
||||
|
||||
De bestanden worden gedownload naar je standaard Chrome downloadmap:
|
||||
```
|
||||
C:\Users\[gebruikersnaam]\Downloads
|
||||
### Handmatig
|
||||
```bash
|
||||
pip install selenium urllib3 PyQt5
|
||||
python3 gui_main.py
|
||||
```
|
||||
|
||||
## Tips
|
||||
## 🎯 Gebruik
|
||||
|
||||
- Het script simuleert menselijk gedrag met willekeurige pauzes
|
||||
- Er zijn automatische pauzes tussen pagina's (15-45 seconden)
|
||||
- Na elke 5 strips is er een korte pauze
|
||||
- Laat het script ongestoord draaien voor beste resultaten
|
||||
1. **Start de applicatie**: `python3 gui_main.py`
|
||||
2. **Voer credentials in**: Klik "Change Credentials"
|
||||
3. **Kies scraping mode**: All Comics of Latest Comics
|
||||
4. **Stel pagina bereik in**: Start/eind pagina
|
||||
5. **Start scraping**: Klik "Start Scraping"
|
||||
|
||||
## 📊 Scraping Modi
|
||||
|
||||
### Mode 0: All Comics
|
||||
- **URL patroon**: `stripverhalen-alle/page/X/`
|
||||
- **Structuur**: Traditionele blog layout
|
||||
- **Selecteer**: `h2.post-title a`
|
||||
|
||||
### Mode 1: Latest Comics
|
||||
- **URL patroon**: `laatste?_page=X&ref=dw`
|
||||
- **Structuur**: Grid layout met containers
|
||||
- **Selecteer**: `.pt-cv-wrapper .pt-cv-ifield h5.pt-cv-title a`
|
||||
|
||||
## 🗂️ Project Structuur
|
||||
|
||||
```
|
||||
├── gui_main.py # GUI applicatie entry point
|
||||
├── install_and_run.bat # Windows installer
|
||||
├── install_and_run.sh # macOS/Linux installer
|
||||
├── requirements.txt # Dependencies
|
||||
├── core/ # Scraping logic
|
||||
│ ├── scraper.py # Dual-mode scraper
|
||||
│ ├── scraper_thread.py # Threading wrapper
|
||||
│ └── credentials.py # Config management
|
||||
├── gui/ # GUI components
|
||||
│ ├── main_window.py # Main interface
|
||||
│ ├── login_dialog.py # Credential input
|
||||
│ └── progress_dialog.py # Progress monitoring
|
||||
├── tests/ # Test scripts
|
||||
└── utils/ # Helper functions
|
||||
```
|
||||
|
||||
## 🔧 Troubleshooting
|
||||
|
||||
**GUI start niet**: Controleer PyQt5 installatie
|
||||
**Login problemen**: Test credentials via GUI
|
||||
**Download issues**: Controleer `~/Downloads` folder
|
||||
|
||||
## 💡 Tips
|
||||
|
||||
- Begin met 1-2 pagina's om de functionaliteit te testen
|
||||
- Gebruik headless mode voor optimale snelheid
|
||||
- Monitor de voortgang in de progress dialog
|
||||
|
||||
---
|
||||
|
||||
**Veel succes met scrapen! 🚀**
|
||||
Reference in New Issue
Block a user