Un scraper simple pour collecter les produits et tendances des principales boutiques de mode coréennes.
Utile pour la veille, l'analyse ou l'automatisation des données e-commerce.
-
Scraping des nouveautés et collections depuis :
- wonlog
- Maybe Baby
- frombeginning
- D'autres sites à venir...
-
Export des données en :
.json.csv
-
Structure modulaire, facilement extensible par site
git clone https://github.com/delitamakanda/scraper-kr-fashion-shops.git
cd scraper-kr-fashion-shops
pip install -r requirements.txtpython3 -m venv koreanfashion
source koreanfashion/bin/activate
django-admin startproject scraper .
django-admin startapp core
or
python3 manage.py runserverOptionnel : si des cookies ou des clés API sont nécessaires, créer un fichier .env à la racine :
MY_SECRET=xxx
ANOTHER_CONFIG=yyyExemple de lancement pour scraper un site précis :
python3 core/crawler.py headlesspython3 core/crawler_stylenanda.py headlesspython3 core/crawler_stylenanda.py headless baseurlpython3 core/crawler_frombeginning.py headlesspython3 core/crawler_wonlog.py headlesspython3 manage.py crawler output.csv --baseurl=https://en.maybe-baby.co.kr
python3 manage.py crawler output2.csv --baseurl=https://stylenanda.com
python3 manage.py crawler output3.csv --baseurl=https://en.frombeginning.kr
python3 manage.py crawler output4.csv --baseurl=https://wonlog.co.krpython3 -m pytest test/test_crawler.py
python3 -m pytest test/test_crawler_mock.py100 0 0 * * * python3 manage.py crawler output4.csv --baseurl=https://wonlog.co.kr 99 0 0 * * * python3 manage.py crawler output3.csv --baseurl=https://en.frombeginning.kr 98 0 0 * * * python3 manage.py send_mail 97 0 0 * * * python3 manage.py deleteproduct 3month 96 0 0 * * * python3 manage.py crawler output.csv --baseurl=https://en.maybe-baby.co.kr
- Support d'autres shops coréens
on each vm
import psutil, shutil, requests
def collect_and_send(host_id):
payload = {
"host_id": host_id,
"cpu_percentage": psutil.cpu_percent(),
"ram_percentage": psutil.virtual_memory().percent,
"disk_percentage": shutil.disk_usage("/").used / shutil.disk_usage("/").total * 100,
}
requests.post("https://kf.applikuapp.com/api/metrics/", json=payload)