Python et l'API Wikipedia
- Détails
- 3403
Récemment j'ai voulu ré-utilisé l'API Wikipedia avec Python. Mais celle-ci avait tellement évoluée, que ce soit l'API ou l'organisation de la BDD Wikipedia, que mon projet était envahi d'erreurs, que ce soit sur la pertinence des résultats, du fait de DisambiguationError
ou d'autres exceptions.PageError
...
J'ai donc décidé de revoir complètement ma façon d'utiliser l'API Wikipedia, ci-dessous un petit retour d'expérience.
Ce n'est pas parfait, mais ça permet de maximiser le retour de résultats, de vérifier leur pertinence, de les mettre en forme et d'éviter un certain nombre de messages d'erreur. Et surtout, ça donne une base solide sur laquelle améliorer encore sa façon d'utiliser l'API.
Les versions utilisées sont Python 3.9 et Wikipedia 1.4.
Et pour les plus pressés, le code est là : https://github.com/georgie123/VariousPythonCodes/blob/master/ApiWikipedia.py
Installer Postgres 15 et son extension GIS sous Windows
- Détails
- 2351
...et afficher quelques données géographiques sous QGIS
Salut toi ! Prêt à bénéficier de toute la puissance de Postgres 15 ? Tu as bien mis ta ceinture de sécurité ?
Maîtrise tes tremblements, bien compréhensibles face à ce déluge de technologies aux performances abyssales, et prépare-toi à entrer dans un monde nouveau, où l'imagination est la seule limite !
🤖🤟🌐💪🧭🐘
Zones de chalandise avec QGIS, Python, l'API ORS et les données OSM, IGN et INSEE
- Détails
- 27394
Nous 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, particulièrement pertinentes car couplées avec de vraies zones isochrones. Nous calculerons aussi la cannibalisation des magasins, 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.
Mots-clefs : géomarketing, IRIS, INSEE, IGN, OSM, SIG, BDD, traitement de données, SQL, zones de chalandise, indicateur, requête de regroupement, zones isochrones, Python
Enseignants responsables : Georges Hinot
Pré-requis : des notions sur QGIS ou autres SIG, des notions sur Excel ou autres tableurs.
Compétences visées : maîtrise théorique et technique des notions de base du géomarketing (zones isochrones, zones de chalandise, indicateurs, jointures et requêtes de regroupement).
Enjeux du cours : rendre autonome les étudiants sur la recherche et l’usage de données autour de problématiques géomarketing, faire « parler » la donnée, créer des indicateurs, veiller à la pertinence des données représentées.
Programme pédagogique : mise en situation autour d'une commande géomarketing impliquant la récupération, le traitement et la représentation de données. Selon l'avancée du cours, nous irons jusqu'à utiliser des fonctionnalités avancées de QGIS (SQL spatial) et Python (création de zones isochrones via une API et customisation du comportement de QGIS).
Le sommaire de droite et la navigation sous le texte vous permettent de vous déplacer dans ce tutoriel.
Zones de chalandise avec QGIS, Python, l'API ORS et les données OSM, IGN et INSEE
Auto submit a form with Python, Selenium and Chromium
- Détails
- 6610
December 15, 2023: warning: the article below is from an old Selenium version. Another article with an example using the last Selenium version (4.16) is available here (go to the bottom)! We do not need the Chromedriver anymore with last Selenium version.
Here a simple Selenium example where we go to fill then submit a form from data previously converted in XML.
I choose XML because this flat format is easy to grab with Python, and it can be created from an Excel file with Access for example. Morever, if the auto-submit crashs during the execution (it is possible even with a good code, depending on the website providing the form), Chromium will stop on the last record and you could remove the begining of the XML before to re-execute the same code (to avoid duplicates).
For those in a hurry (🧐) my code is here on GitHub. But for a full understanding just see below.
Sécurité Joomla
- Détails
- 9520
Les permissions
Les permissions des fichiers et dossiers (CHMOD, abréviation de Change Mode) recommandées sur Joomla (ou d'autres applications PHP) dépendent en partie des hébergeurs.
Un même droit est parfois interprêté différemment selon l'hébergeur (déjà vu), une même application requiert parfois différents droits selon l'hébergeur. Certains serveurs vont automatiquement bloquer certains droits sur certains contenus.
Mais quand un site commence à être mature, il subit de moins en moins de modifications structurelles. On peut alors fermer certaines portes - comme on fermerait l'accès au compteur électrique - et mettre en place une politique des moindres privilèges.
La mise en place d'une politique des moindres privilèges doit être suivie de tests et d'une communication fine avec son hébergeur. Il n'y a rien d'exhautif et rien de parfait, n'hésitez pas à modifier progressivement les permissions vers le bas selon vos propres observations. Il s'agit de fermer au maximum, puis de ne ré-ouvrir que le strict nécessaire.
Récupération de données sur le web avec PHP
- Détails
- 72651
Retour d'expérience sur la création d'un gentil petit robot récupérateur de données.
Bien entendu il n'y a pas de mauvaises intentions de notre part, nous ne récupérerons que des données publiques, disponibles librement sur des sites internet divers. Il ne s'agit pas de piratage ni d'aucune forme d'intrusion. Soit une forme de web scraping. La récupération automatique de données peut d'ailleurs être utile pour de nombreuses tâches très honorables (statistiques, santé, social...) ou marketing.
Nous travaillerons, dans cet exemple simple, sur un site contenant des données de contacts (email, téléphone, métier...). Certains sites considèrent ce type d'annuaire comme vendeur et mettent en avant la disponibilité de données de contact.
Nous tairons son nom de domaine, mais prenons l'exemple d'une fiche de contact à l'URL bien lisible :
http://site-indiscret.com/contacts/45988
La forme de l'URL est très standard et se termine par une chaîne numérique. Sans doute un identifiant unique ! C'est le terrain d'action idéal pour un jeune robot récupérateur de données.
Ce site au webmaster un peu pressé sera donc un bon cobaye pour notre 1er bot. Et en modifiant le script final, vous pourrez sans doute l'adapter à vos propres besoins.
Les grandes étapes d'enfantement seront les suivantes :
Page 2 sur 6