Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(pipeline): scraping réseau alpha #115

Merged
merged 21 commits into from
Sep 26, 2023
Merged

feat(pipeline): scraping réseau alpha #115

merged 21 commits into from
Sep 26, 2023

Conversation

ColinMaudry
Copy link
Contributor

@ColinMaudry ColinMaudry commented Aug 15, 2023

Scraping des formations et des structures recensées sur https://reseau-alpha.org/.

Le notebook contient une description du process en en-tête.

Finalement on transpose le notebook en pipeline.

Todo :

  • ajouter les fonctions extract, read, load
  • Résoudre le problème de la conversion du HTML de la présentation en markdown (le markup HTML est assez complexe, un conversion simple avec trafilatura donne un format peu digeste, désactivé pour l'instant)
  • ajouter les streams dans settings.py
  • dbt : rédiger le SQL pour l'étape staging
  • dbt : rédiger le SQL pour l'étape intermediate avec
    • traitement des adresses
    • ajout aux tables int__services et int__structures
    • rajouter les champs présents dans le schéma mais absents des données source (NULL AS...)
    • test des références croisées de structure_id
    • test des références croisées de adresse_id

@ColinMaudry
Copy link
Contributor Author

Après le notebook qui sert de PoC, la prochaine itération consiste à lancer le scraping via un DAG airflow.

J'ai transformé le notebook en tâche Python et ait créé une fonction extract() à utiliser dans import_sources.py.

Pour l'étape read, utils.read_json() suffit car le JSON n'a pas de structure ou contenu particulier à retraiter.

@ColinMaudry ColinMaudry linked an issue Aug 17, 2023 that may be closed by this pull request
@ColinMaudry
Copy link
Contributor Author

@vmttn La fonction extract de reseau_alpha.py renvoie bien un buffer que read_json peut convertir en DataFrame exploitable (j'ai print un df.info() juste après l'exécution de read_fn()). Donc d'après mes tests, le pipeline est OK jusqu'à l'étape load comprise.

Reste donc la partie dbt.

@ColinMaudry
Copy link
Contributor Author

@vmttn J'ai géré les conflits. À voir où on place cette source dans les priorités et qui fait la partie dbt.

@ColinMaudry ColinMaudry changed the title feature(analyse): réseau alpha : script de scraping feat(pipeline): scraping réseau alpha Sep 7, 2023
@ColinMaudry
Copy link
Contributor Author

Les id de services ne sont pas uniques, ce bout de code ne fait pas le boulot.

Copy link
Contributor

@vmttn vmttn left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Première passe

pipeline/src/data_inclusion/scripts/tasks/reseau_alpha.py Outdated Show resolved Hide resolved
pipeline/src/data_inclusion/scripts/tasks/reseau_alpha.py Outdated Show resolved Hide resolved
pipeline/src/data_inclusion/scripts/tasks/reseau_alpha.py Outdated Show resolved Hide resolved
pipeline/src/data_inclusion/scripts/tasks/reseau_alpha.py Outdated Show resolved Hide resolved
pipeline/src/data_inclusion/scripts/tasks/reseau_alpha.py Outdated Show resolved Hide resolved
pipeline/src/data_inclusion/scripts/tasks/reseau_alpha.py Outdated Show resolved Hide resolved
pipeline/src/data_inclusion/scripts/tasks/reseau_alpha.py Outdated Show resolved Hide resolved
pipeline/src/data_inclusion/scripts/tasks/reseau_alpha.py Outdated Show resolved Hide resolved
pipeline/src/data_inclusion/scripts/tasks/reseau_alpha.py Outdated Show resolved Hide resolved
pipeline/src/data_inclusion/scripts/tasks/reseau_alpha.py Outdated Show resolved Hide resolved
@vmttn vmttn merged commit 427131c into main Sep 26, 2023
2 checks passed
@vmttn vmttn deleted the scrap-reseau-alpha branch October 24, 2023 07:13
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

Intégration de la source reseau-apha dans le pipeline
2 participants