# Un webcrawler pour extraire les arrêtés de péril du site de Marseille <aname="intro"></a>
Les données sont inscrites manuellement sur le site de la mairie, et présentent de nombreux problèmes de structure et de nomemclature qui empêchent d'extraire proprement chaque arrêté.
On a donc recours à plusieurs regex successifs pour séparer les adresses et obtenir une table structurée. Certaines adresses sont perdues en chemin (environ une cinquantaine) mais l'essentiel est extrait.
Les données sont ensuite classées par type (périls & périls imminents, main-levées, interdictions d'occupation, etc.).
Il est ensuite possible d'en éditer une carte, sur Qgis par exemple, en retrouvant chaque adresse par geocoding.
<ahref="./doc/img/map.jpeg"><imgsrc="./doc/img/map.jpeg"width="1024"alt="Carte des périls de Marseille-Centre"></a><br><br>
# Installation <aname="install"></a>
## Linux/Unix/MacOs <aname="unix"></a>
### Dépendances
- Python >=3.5
### Environnement virtuel et modules python
#### Environnement virtuel
Mise en place d'un environnement virtuel pour scrapy dans lequel seront installées les dépendances :
- [Microsoft Visual C++ Build-tools](https://visualstudio.microsoft.com/visual-cpp-build-tools/)
@ -10,8 +51,8 @@
- [Librairie libxml2](https://www.lfd.uci.edu/~gohlke/pythonlibs/#libxml-python) (documentation en haut de page)
## Environnement virtuel et modules python
### Environnement virtuel
### Environnement virtuel et modules python
#### Environnement virtuel
Mise en place d'un environnement virtuel pour scrapy dans lequel seront installées les dépendances :
@ -19,11 +60,15 @@ Mise en place d'un environnement virtuel pour scrapy dans lequel seront install
scrapy-env\Scripts\activate.bat
### Modules
#### Modules
python -m pip install --upgrade pip
python -m pip install regex
python -m pip install scrapy
## Lancement de scrapy
# Usage <aname="usage"></a>
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)