From b2d298108fdea79d1a3dfb81bd910c4daad7a85c Mon Sep 17 00:00:00 2001
From: p
Date: Mon, 12 Dec 2022 15:44:53 +0100
Subject: [PATCH] explications structure et code
---
README.md | 23 +++++++++++++++++++++--
1 file changed, 21 insertions(+), 2 deletions(-)
diff --git a/README.md b/README.md
index da773c4..7f33d3b 100644
--- a/README.md
+++ b/README.md
@@ -4,6 +4,7 @@
1. [Linux/Unix/MacOS](#unix)
2. [Windows](#win)
3. [Usage](#usage)
+4. [TODO](#todo)
@@ -19,6 +20,17 @@ Il est ensuite possible d'en éditer une carte, sur Qgis par exemple, en retrouv

+Le code repose sur le projet libre de webcrawler [Scrapy](https://scrapy.org/) écrit en python.
+
+**Structure :**
+
+- `crawler/perils/spiders/scraperil.py` : Le crawler initial qui récupère toutes les données brutes du site par des requêtes via sélecteurs XPATH (similaires aux selecteurs CSS mais plus polyvalents)
+
+- `crawler/perils/items.py` : Les items dans lesquels sont inscrites les données brutes
+
+- `crawler/perils/splittermidware.py` : La pipeline de tri des données brutes au moyen de regex et d'un peu de python rudimentaire. Le code est commenté pour inspection.
+
+
# Installation
@@ -55,7 +67,7 @@ Mise en place d'un environnement virtuel pour scrapy dans lequel seront install

-- [Librairie libxml2](https://www.lfd.uci.edu/~gohlke/pythonlibs/#libxml-python) (documentation en haut de page)
+- [Librairie libxml2](https://www.lfd.uci.edu/~gohlke/pythonlibs/#libxml-python) (documentation en haut de page, à priori ça s'installe via pip mais j'ai pas eu besoin, faudrait voir sur un windows vierge ce que ça donne)
### Environnement virtuel et modules python
@@ -80,4 +92,11 @@ On exporte l'output du crawler dans un fichier csv.
D'autres formats sont disponibles (json, xml, etc.) plus d'informations sur la [documentation de scrapy](https://docs.scrapy.org/en/latest/topics/feed-exports.html)
cd src
- scrapy crawl perils -O perils.csv
\ No newline at end of file
+ scrapy crawl perils -O perils.csv
+
+
+
+# TODO
+
+- Permettre la possibilité de deux outputs : un csv pour Qgis et un csv pour consultation et mise en page. Pour le moment les deux sortent sur un même csv parce-que j'ai pas pris le temps de m'en occuper.
+- installer ça sur un serveur et faire crawler quotidiennement puis mettre sur une base de données (mariadb)
\ No newline at end of file