Beautiful SoupLet's go web scraping with Python and BeautifulSoup! Here BeautifulSoup will be able to extract formatted data from HTML and its CCS code. For confidentiality reasons, we will not name the parsed website, but a lot are built like that: pages containing record from a database use their ID in the URL. So you will to adapt the codes below to your own website and purposes.

We will use a complex website as example, where the IDs to guess are listed in a large pagination.

First, we will get the links to articles (with IDs in URLs) from all pages of the pagination, then we will store data in a CSV file, if interesting (we search emails). So we will do a loop in a loop, with a condition, but if the website you want to parse is simpler (without pagination), you will not need the first loop.

Libraries and receptacle

We start by importing some necessary libraries and creating the receptacle file for our data.

from bs4 import BeautifulSoup
import requests
import re
import csv
 
# CSV file to receive data
out_file = open('C:/python_projects/webscraping/email.csv', 'w', encoding='cp1252')
out_file.write("email" + "\n")

Qgis3PythonInteropérabilité Python/QGIS - Principaux concepts de Python, indentation, itération, variable, méthode, boucle, fonction, condition, tuple, paramètre, argument, chaîne formatée, importation - Fonctions géométriques - Écriture de fichiers - Fonctions SIG - Génération de cartes - Standalone - Milieu alpin

Sources et liens divers :

Tutoriel écrit sur QGIS 3.14 'Py' et Python 3.8, mais j'ai pu constater qu'il fonctionne de façon assez similaire sur des versions précédentes, ainsi que sur QGIS 3.16.

zones isochrones orsNous allons calculer les zones isochrones à 15 minutes des magasins Décathlon français, et les coupler avec les données géographiques de l'IGN croisées avec les données statistiques de l'INSEE.

L'ensemble formera de supposées zones de chalandise des magasins. Nous verrons aussi quels magasins se cannibalisent ainsi que leur proximité avec des équipements sportifs.

Pour ce faire nous n'utiliserons que des données en open-source, l'API d'openrouteservice, le logiciel libre QGIS et peut-être un peu de code Python.

Introduction pratique au géomarketing : découverte des mots-clés, des notions les plus courantes, des données classiquement utilisées en France et des pratiques récurrentes. Critique des méthodes.

Utilisation des fonctions avancées de QGIS (SQL spatial), introduction aux graphes routiers et à l'isochronie.

Le sommaire de droite et la navigation sous le texte vous permettent de vous déplacer dans ce tutoriel. Les images sont cliquables et contiennent des informations supplémentaires.

Cet article n'est pas l'article d'un spécialiste de Symfony. Je défriche ici les grandes possibilités du framework, dans sa version 4, en fusionnant/vulgarisant plusieurs tutos glânés sur internet. L'objectif est surtout de me construire un mémo d'apprentissage de Symfony 4, que je souhaite utiliser pour le déploiement de SCRUD plus ou moins complexes et d'API.

  • Testé en local sous Windows.
  • Wamp doit être installé, disposant d'une version de PHP 7 minimum.
  • Installez également Composer, en mode développeur, en lui mentionnant la dernière version de PHP pendant l'installation.

Composer est dorénavant indispensable pour démarrer un projet Symfony 4 (et l'Installer ne l'est plus). De même il n'est plus nécessaire de déclarer les dépendances dans le Kernel.

Il vous faudra redémarrer votre machine pour prendre en compte Composer. Ensuite la commande composer -v doit afficher des informations de version.

Intégrer PHP aux variables d'environnement Windows

Si ce n'est pas déjà fait (testez php -v) :

set PATH=%PATH%;C:\wamp\bin\php\php7.2.4

Ensuite la commande php -v doit afficher des informations de version.

Avant toute manipulation un peu tordue, on ne le répétera jamais assez : les SIG ne sont pas autosuffisants. Cependant, parfois, ils peuvent créer de la donnée seulement à partir d'autres données. De la donnée nouvelle, plus riche que la donnée d'origine ou du moins, valorisée à partir de croisement de données (data mining).

carteMise en situation, dans le domaine de... allez, du géomarketing : vous êtes géomaticien, dans une société de géomarketing. Les développeurs ont déjà mis au point un programme accrochant les IRIS environnants à partir d'un point en entrée et selon plusieurs facteurs (géographiques, statistiques, données clients...). Il s'agit donc d'un programme de calcul de zones isochrones1, qui comme tous programmes de zones isochrones, peut être amélioré.

Le programme existe et marche déjà très bien. Il fait l'objet d'une application web facturée 15 000 € l'abonnement annuel (ou mensuel, je ne sais plus...). À ce prix là bien sûr, les indicateurs utilisés pour dessiner les zones ne prennent en compte qu'un nombre restreint de variables. Si le client veut plus de précision, ou une actualisation des données plus régulière, il doit souscrire un abonnement plus cher.

Nous allons voir les 1ères opérations de prise en main de QGIS. QantumGIS n'est que la partie émergée d'un système très performant : le couple QGIS-PostGIS, que nous aborderons.

Nous prendrons même le temps de taper quelques lignes de SQL, directement dans QGIS.

QGIS, logiciel SIG open-source et gratuit, se télécharge puis s'installe aisément après avoir vérifié la binarité de votre machine. Nous travaillerons ici sous Windows et sur la version 2.18.12 (Las Palmas).

Cette dernière version déposera un répertoire sur votre bureau. Explorez-le, QGIS est aujourd'hui composite et vous n'avez pas installé que ce seul SIG.

Dans la foulée installez PostgreSQL et son interface de gestion PgAdmin 4, via le pack EnterpriseDB et l'utilitaire StackBuilder. Pensez à bien sélectionner l'installation de PostGIS également. Stackbuilder est toutefois un logiciel qui va s'installer sur votre machine, et que vous pourrez ré-utiliser par la suite.

Talend est une suite logicielle ETL, dont l'une des briques existe sous licence libre et gratuite : Talend Open Studio for Data Integration (TOS), dédiée à l'intégration et à la manipulation de sources de données hétérogènes. 

Téléchargez l'outil depuis la page officielle et installez-le sur votre machine. Il s'agit de dézipper le fichier fourni et de le placer près de vos programmes. Il contient deux exécutables (.exe), selon la binarité de votre machine, dont vous pouvez créer un raccourci.

N'hésitez pas à tester les deux exécutables en 32 ou 64 bits si besoin (incohérences constatées sur certaines machines sous Windows, mais sans problème fonctionnel).Figure d'un Data Warehouse Architecture (documentation Oracle, 2018)

Pour fonctionner, Talend a besoin d'une version récente de Java.

Ce tutoriel d'initiation suppose que soyez déjà familier avec les SGBD MySQL et/ou Postgres, et que vous en disposiez.

Les images de cet article sont cliquables et affichent des informations contextuelles supplémentaires.