@ -19,6 +20,17 @@ Il est ensuite possible d'en éditer une carte, sur Qgis par exemple, en retrouv
<ahref="./doc/img/map.jpeg"><imgsrc="./doc/img/map.jpeg"width="1024"alt="Carte des périls de Marseille-Centre"></a><br><br>
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.
<divid='install'/>
# Installation
@ -55,7 +67,7 @@ Mise en place d'un environnement virtuel pour scrapy dans lequel seront install
<imgsrc="./doc/img/micrapsoft-visualstudio.jpg"height="320"alt="Screenshot de l'installation des build-tools pour Windows"><br><br>
- [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
scrapy crawl perils -O perils.csv
<divid='todo'/>
# 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)