add extractor viparis
This commit is contained in:
parent
fd2d51b662
commit
ee48a3c665
9 changed files with 2221 additions and 4443 deletions
2
.gitignore
vendored
2
.gitignore
vendored
|
@ -9,3 +9,5 @@ datasources
|
|||
extractors/**/*.zip
|
||||
extractors/**/*.7z
|
||||
extractors/**/*.json
|
||||
*.json
|
||||
*.log
|
||||
|
|
3
.gitmodules
vendored
3
.gitmodules
vendored
|
@ -1,3 +1,6 @@
|
|||
[submodule "datasources"]
|
||||
path = datasources
|
||||
url = https://github.com/openeventdatabase/datasources.git
|
||||
[submodule "OEDb_Scrappers"]
|
||||
path = OEDb_Scrappers
|
||||
url = https://codeberg.org/K12230LF/OEDb_Scrappers.git
|
||||
|
|
1
OEDb_Scrappers
Submodule
1
OEDb_Scrappers
Submodule
|
@ -0,0 +1 @@
|
|||
Subproject commit df0a6e21133d33e0af7e427f39c57c238afc67ac
|
|
@ -101,247 +101,6 @@ X-ALT-DESC;FMTTYPE=text/html:<h3><a href="/events/"><img style="float: righ
|
|||
43.60305/3.89786</p>
|
||||
END:VEVENT
|
||||
BEGIN:VEVENT
|
||||
DTSTAMP;TZID=Europe/Paris:20250916T044029
|
||||
UID:33331@agendadulibre.org
|
||||
DTSTART;TZID=Europe/Paris:20251009T190000
|
||||
DTEND;TZID=Europe/Paris:20251009T220000
|
||||
DESCRIPTION:[][1]\n\n**Gratuit – Inscription recommandée**\n\nCe dernier
|
||||
rendez-vous mensuel propose d’accompagner les utilisateurs et utilisatr
|
||||
ices de logiciels libres dans la résolution de leurs problèmes informati
|
||||
ques.\n\nC’est l’occasion de voir comment ça marche\, de demander ou
|
||||
de donner un coup de pouce\, de découvrir ou faire découvrir une astuce\
|
||||
, d'en savoir plus sur l'installation et l'utilisation de GNU/Linux.\n\nRa
|
||||
ppel: aucune installation de logiciel sous licence ne pourra être faite s
|
||||
ans présentation de la licence et de sa preuve d’achat.\nRemarque: Si v
|
||||
ous souhaitez de l'aide sur Android ou Windows ou Mac\, notez que l'ALDIL
|
||||
n'a pas vocation à intervenir sur ces systèmes en eux-mêmes\, seulement
|
||||
sur les applications libres qui peuvent y être installées.\n\nLe formul
|
||||
aire: [https://www.aldil.org/agenda-activites/nos-activites/bidouilles/][
|
||||
2]\n\nL’adhésion à la MPT n’est pas obligatoire pour cette activité
|
||||
.\n\n**Salle**: EPN\n\n [ ][3][][3]\n\n\n\n[1]: https://aldil.org\n[2]: h
|
||||
ttps://www.aldil.org/agenda-activites/nos-activites/bidouilles/\n[3]: http
|
||||
s://epn.salledesrancy.com\n
|
||||
GEO:45.756;4.84773
|
||||
LOCATION:Maison pour tous / salle des Rancy\, 249 rue Vendôme\, Lyon\, Auv
|
||||
ergne-Rhône-Alpes\, France
|
||||
ORGANIZER:mailto:contact@aldil.org
|
||||
SEQUENCE:3
|
||||
SUMMARY:Entraide et Bidouille
|
||||
URL;VALUE=URI:https://aldil.org
|
||||
CATEGORIES:entraide
|
||||
CATEGORIES:aldil
|
||||
CATEGORIES:epn-des-rancy
|
||||
CATEGORIES:linux
|
||||
CATEGORIES:logiciels-libres
|
||||
CATEGORIES:bidouille
|
||||
CATEGORIES:gnu-linux
|
||||
CATEGORIES:fete-des-possibles-2025
|
||||
CATEGORIES:adieu-windows
|
||||
X-ALT-DESC;FMTTYPE=text/html:<section class="em-event-content">\n<p style="
|
||||
text-align: center\;"><a href="https://aldil.org"><img class="hoverZoomLin
|
||||
k alignnone wp-image-1167 lazy loaded" src="https://www.aldil.org/wp-conte
|
||||
nt/uploads/2018/12/ALDIL_text-150x150.png" sizes="(max-width: 98px) 85vw\,
|
||||
98px" srcset="https://www.aldil.org/wp-content/uploads/2018/12/ALDIL_text
|
||||
-150x150.png 150w\, https://www.aldil.org/wp-content/uploads/2018/12/ALDIL
|
||||
_text-300x300.png 300w\, https://www.aldil.org/wp-content/uploads/2018/12/
|
||||
ALDIL_text-768x768.png 768w\, https://www.aldil.org/wp-content/uploads/201
|
||||
8/12/ALDIL_text.png 800w" alt="Logo ALDIL" width="98" height="98" data-src
|
||||
="https://www.aldil.org/wp-content/uploads/2018/12/ALDIL_text-150x150.png"
|
||||
data-srcset="https://www.aldil.org/wp-content/uploads/2018/12/ALDIL_text-
|
||||
150x150.png 150w\, https://www.aldil.org/wp-content/uploads/2018/12/ALDIL_
|
||||
text-300x300.png 300w\, https://www.aldil.org/wp-content/uploads/2018/12/A
|
||||
LDIL_text-768x768.png 768w\, https://www.aldil.org/wp-content/uploads/2018
|
||||
/12/ALDIL_text.png 800w" data-sizes="(max-width: 98px) 85vw\, 98px" data-w
|
||||
as-processed="true"></a></p>\n<p style="text-align: center\;"><strong>Grat
|
||||
uit – Inscription recommandée</strong></p>\n<p>Ce dernier rendez-vous m
|
||||
ensuel propose d’accompagner les utilisateurs et utilisatrices de logici
|
||||
els libres dans la résolution de leurs problèmes informatiques.</p>\n<p>
|
||||
C’est l’occasion de voir comment ça marche\, de demander ou de donner
|
||||
un coup de pouce\, de découvrir ou faire découvrir une astuce\, d'en sa
|
||||
voir plus sur l'installation et l'utilisation de GNU/Linux.</p>\n<p>Rappel
|
||||
: aucune installation de logiciel sous licence ne pourra être faite sans
|
||||
présentation de la licence et de sa preuve d’achat.<br>Remarque : Si v
|
||||
ous souhaitez de l'aide sur Android ou Windows ou Mac\, notez que l'ALDIL
|
||||
n'a pas vocation à intervenir sur ces systèmes en eux-mêmes\, seulement
|
||||
sur les applications libres qui peuvent y être installées.</p>\n<p>Le f
|
||||
ormulaire : <a href="https://www.aldil.org/agenda-activites/nos-activites
|
||||
/bidouilles/">https://www.aldil.org/agenda-activites/nos-activites/bidouil
|
||||
les/</a></p>\n<p>L’adhésion à la MPT n’est pas obligatoire pour cett
|
||||
e activité.</p>\n<p><strong>Salle</strong> : EPN</p>\n<p> <a href="https
|
||||
://epn.salledesrancy.com"> </a><a href="https://epn.salledesrancy.com"><im
|
||||
g class="hoverZoomLink alignnone wp-image-1227 size-medium lazy loaded" st
|
||||
yle="display: block\; margin-left: auto\; margin-right: auto\;" src="https
|
||||
://www.aldil.org/wp-content/uploads/2019/07/bannière_epn2-300x98.png" siz
|
||||
es="(max-width: 300px) 85vw\, 300px" srcset="https://www.aldil.org/wp-cont
|
||||
ent/uploads/2019/07/bannière_epn2-300x98.png 300w\, https://www.aldil.org
|
||||
/wp-content/uploads/2019/07/bannière_epn2-768x251.png 768w\, https://www.
|
||||
aldil.org/wp-content/uploads/2019/07/bannière_epn2.png 846w" alt="Logo EP
|
||||
N" width="300" height="98" data-src="https://www.aldil.org/wp-content/uplo
|
||||
ads/2019/07/bannière_epn2-300x98.png" data-srcset="https://www.aldil.org/
|
||||
wp-content/uploads/2019/07/bannière_epn2-300x98.png 300w\, https://www.al
|
||||
dil.org/wp-content/uploads/2019/07/bannière_epn2-768x251.png 768w\, https
|
||||
://www.aldil.org/wp-content/uploads/2019/07/bannière_epn2.png 846w" data-
|
||||
sizes="(max-width: 300px) 85vw\, 300px" data-was-processed="true"></a></p>
|
||||
\n</section>
|
||||
END:VEVENT
|
||||
BEGIN:VEVENT
|
||||
DTSTAMP;TZID=Europe/Paris:20251006T120053
|
||||
UID:33504@agendadulibre.org
|
||||
DTSTART;TZID=Europe/Paris:20251009T193000
|
||||
DTEND;TZID=Europe/Paris:20251009T220000
|
||||
DESCRIPTION:Le but des soirées de contribution au libre est de proposer un
|
||||
espace de travail partagé aux personnes actives dans le libre en Île-de
|
||||
-France le temps d'une soirée\, une fois par mois (le deuxième jeudi du
|
||||
mois plus précisément).\n\n\n\n\n\nDit plus court: c'est un lieu avec de
|
||||
l'électricité et une connexion internet. En avant les claviers !\n\n**L
|
||||
es soirées de contribution au libre sont faites pour vous si:**\n\n* vous
|
||||
travaillez sur un projet libre et vous recherchez une atmosphère à la f
|
||||
ois conviviale et studieuse pour aller de l'avant et\, qui sait\, créer d
|
||||
es connexions avec d'autres projets libres\,\n^\n\n* vous êtes un collect
|
||||
if autour du libre et vous cherchez un lieu pour vous retrouvez physiqueme
|
||||
nt et avancer avec efficacité sur vos chantiers.\n\n**Si vous n'avez pas
|
||||
envie de contribuer à un projet libre\, les soirées de contribution au l
|
||||
ibre ne sont sans doute pas faites pour vous.** Pas de panique\, Parinux o
|
||||
rganise d'autres évènements:\n\n* si vous voulez discuter autour du libr
|
||||
e: l'Apéro du Libre (APL) est là pour ça \; c'est un rendez-vous fixé
|
||||
tous les 15 du mois \; venez-nous retrouver autour d'un verre pour papoter
|
||||
et refaire le monde (libre)\,\n^\n\n* si vous avez un problème informati
|
||||
que: c'est la vocation de Premiers Samedi du Libre (PSL) où vous pourrez
|
||||
trouver des oreilles attentives et compétentes à l'écoute de toutes vos
|
||||
questions.\n\nNous nous réservons le droit de refuser l'entrée aux soir
|
||||
ées de contribution au libre à tout personne qui n'en respecterait pas l
|
||||
'esprit. Et\, bien sûr\, les règles de bienséance habituelles s'appliqu
|
||||
ent pour que chacune et chacun se sente à l'aise dans un cadre bienveilla
|
||||
nt.\n\nSi les soirées de contribution vous intéresse\, le mieux est de c
|
||||
ontacter d'abord le CA de Parinux ca@parinux.org. Vous devrez de toute fa
|
||||
çon nous écrire pour obtenir le code de la porte cochère...\n\n
|
||||
GEO:48.8578;2.36951
|
||||
LOCATION:FPH\, 38 rue Saint-Sabin\, Paris\, Île-de-France\, France
|
||||
ORGANIZER:mailto:ca@parinux.org
|
||||
SEQUENCE:3
|
||||
SUMMARY:Soirée de contribution au libre
|
||||
URL;VALUE=URI:https://parinux.org/Soiree-de-Contribution-au-Libre-le-jeudi-
|
||||
9-octobre-2025
|
||||
CATEGORIES:parinux
|
||||
CATEGORIES:scl
|
||||
CATEGORIES:contribution
|
||||
CATEGORIES:contribution-au-libre
|
||||
X-ALT-DESC;FMTTYPE=text/html:<p>Le but des soirées de contribution au libr
|
||||
e est de proposer un espace de travail partagé aux personnes actives dans
|
||||
le libre en Île-de-France le temps d'une soirée\, une fois par mois (le
|
||||
deuxième jeudi du mois plus précisément).</p>\n<p><img style="display:
|
||||
block\; margin-left: auto\; margin-right: auto\;" src="https://parinux.or
|
||||
g/squelettes/img/parinux.png" alt="" width="300" height="240"></p>\n<p> <
|
||||
/p>\n<p>Dit plus court : c'est un lieu avec de l'électricité et une conn
|
||||
exion internet. En avant les claviers !</p>\n<p><strong>Les soirées de co
|
||||
ntribution au libre sont faites pour vous si :</strong></p>\n<ul class="sp
|
||||
ip" role="list">\n<li>vous travaillez sur un projet libre et vous recherch
|
||||
ez une atmosphère à la fois conviviale et studieuse pour aller de l'avan
|
||||
t et\, qui sait\, créer des connexions avec d'autres projets libres\,</li
|
||||
>\n</ul>\n<ul class="spip" role="list">\n<li>vous êtes un collectif autou
|
||||
r du libre et vous cherchez un lieu pour vous retrouvez physiquement et av
|
||||
ancer avec efficacité sur vos chantiers.</li>\n</ul>\n<p><strong>Si vous
|
||||
n'avez pas envie de contribuer à un projet libre\, les soirées de contri
|
||||
bution au libre ne sont sans doute pas faites pour vous.</strong> Pas de p
|
||||
anique\, Parinux organise d'autres évènements :</p>\n<ul class="spip" ro
|
||||
le="list">\n<li>si vous voulez discuter autour du libre : l'Apéro du Libr
|
||||
e (APL) est là pour ça \; c'est un rendez-vous fixé tous les 15 du mois
|
||||
\; venez-nous retrouver autour d'un verre pour papoter et refaire le mond
|
||||
e (libre)\,</li>\n</ul>\n<ul class="spip" role="list">\n<li>si vous avez u
|
||||
n problème informatique : c'est la vocation de Premiers Samedi du Libre (
|
||||
PSL) où vous pourrez trouver des oreilles attentives et compétentes à l
|
||||
'écoute de toutes vos questions.</li>\n</ul>\n<p>Nous nous réservons le
|
||||
droit de refuser l'entrée aux soirées de contribution au libre à tout p
|
||||
ersonne qui n'en respecterait pas l'esprit. Et\, bien sûr\, les règles d
|
||||
e bienséance habituelles s'appliquent pour que chacune et chacun se sente
|
||||
à l'aise dans un cadre bienveillant.</p>\n<p>Si les soirées de contribu
|
||||
tion vous intéresse\, le mieux est de contacter d'abord le CA de Parinux
|
||||
ca@parinux.org. Vous devrez de toute façon nous écrire pour obtenir le c
|
||||
ode de la porte cochère...</p>
|
||||
END:VEVENT
|
||||
BEGIN:VEVENT
|
||||
DTSTAMP;TZID=Europe/Paris:20251006T115840
|
||||
UID:33502@agendadulibre.org
|
||||
DTSTART;TZID=Europe/Paris:20251009T200000
|
||||
DTEND;TZID=Europe/Paris:20251009T210000
|
||||
DESCRIPTION:L'[association GUTenberg][1]\, Groupe francophone des Utilisate
|
||||
urs de TeX\, organise **jeudi prochain** 9 octobre 2025 à 20h son 22e exp
|
||||
osé mensuel!\n\nLors de cette séance\, nous aurons le plaisir d’écout
|
||||
er [ Vincent Goulet][2] nous donner un exposé intitulé [« Intégrer l
|
||||
’équipe (de\\|du)? (Cé\\|Si)Tan(ne)? »][3]:\n\n À l’été 2024\, l
|
||||
ors de la conférence du TeX User Group à Prague\, j’ai répondu à l
|
||||
’appel de volontaires d’Erik Braun pour me joindre à l’équipe de C
|
||||
TAN. Erik a semblé ravi: sans doute d’avoir si facilement déniché un
|
||||
nouveau collaborateur\, et assurément parce que je me trouve dans un fuse
|
||||
au horaire (UTC-5) différent des autres membres de l’équipe\, tous pos
|
||||
tés outre-Rhin. Pour différentes raisons\, je n’ai commencé à contri
|
||||
buer activement qu’en mai 2025. Denis n’aura ensuite pas mis de temps
|
||||
à me repérer. Pourquoi m’impliquer dans ce projet ? En quoi les tâche
|
||||
s consistent-elles ? Est-ce payant ? J’essaierai de répondre à ces que
|
||||
stions\, en plus de vous entretenir des bonnes et moins bonnes pratiques e
|
||||
n matière de préparation de paquetage (oui\, je préfère ce terme à «
|
||||
package »). Qui sait\, je pourrais même effectuer une démo !\nCet expo
|
||||
sé est donné dans le cadre des [exposés mensuels GUTenberg][4]. **Si vo
|
||||
us appréciez ces exposés**\, et plus généralement les actions qu'elle
|
||||
mène ([la Lettre][5]\, [Journées][6]\, [FAQ][7]\, [TeXnique.fr][8]\, etc
|
||||
.)\, **n'hésitez pas à [adhérer à l'association GUTenberg][9]**.\n\n[1
|
||||
]: https://www.gutenberg-asso.fr/\n[2]: https://www.ctan.org/author/goulet
|
||||
\n[3]: https://www.gutenberg-asso.fr/9-octobre-2025-Integrer-l-equipe-de-d
|
||||
u-Ce-Si-Tan-ne\n[4]: https://podulco.univ-littoral.fr/meeting/0096-exposes
|
||||
-gutenberg/f9f3d98879f1e84cf92ef51e3ce240f0ff20330249ec50ce7278adc8059c4d2
|
||||
8\n[5]: https://publications.gutenberg-asso.fr/lettre\n[6]: https://www.gu
|
||||
tenberg-asso.fr/-Journees-GUTenberg-\n[7]: https://faq.gutenberg-asso.fr/\
|
||||
n[8]: https://texnique.fr/\n[9]: https://www.gutenberg-asso.fr/Adherer-a-l
|
||||
-association\n
|
||||
LOCATION:Internet
|
||||
ORGANIZER:mailto:secretariat@gutenberg-asso.fr
|
||||
SEQUENCE:3
|
||||
SUMMARY:Intégrer l’équipe (de|du)? (Cé|Si)Tan(ne)?
|
||||
URL;VALUE=URI:https://www.gutenberg-asso.fr/9-octobre-2025-Integrer-l-equip
|
||||
e-de-du-Ce-Si-Tan-ne
|
||||
CATEGORIES:tex
|
||||
CATEGORIES:latex
|
||||
CATEGORIES:ctan
|
||||
CATEGORIES:packages
|
||||
CATEGORIES:gutenberg
|
||||
CATEGORIES:présentation
|
||||
CATEGORIES:visio-conférence
|
||||
X-ALT-DESC;FMTTYPE=text/html:<p>L'<a href="https://www.gutenberg-asso.fr/">
|
||||
association GUTenberg</a>\, Groupe francophone des Utilisateurs de TeX\, o
|
||||
rganise <strong>jeudi prochain</strong> 9 octobre 2025 à 20h son 22<sup>e
|
||||
</sup> exposé mensuel<span class="finePre">!</span><br><br>Lors de cette
|
||||
séance\, nous aurons le plaisir d’écouter <a href="https://www.ctan.or
|
||||
g/author/goulet" target="_blank" rel="nofollow noopener"> Vincent Goulet</
|
||||
a> nous donner un exposé intitulé <a href="https://www.gutenberg-asso.fr
|
||||
/9-octobre-2025-Integrer-l-equipe-de-du-Ce-Si-Tan-ne" target="_blank" rel=
|
||||
"nofollow noopener">« Intégrer l’équipe (de|du)? (Cé|Si)Tan(ne)? »<
|
||||
/a> :</p>\n<div class="bbcode_container">\n<div class="bbcode_quote">\n<bl
|
||||
ockquote>\n<div class="quote_container">À l’été 2024\, lors de la con
|
||||
férence du TeX User Group à Prague\, j’ai répondu à l’appel de vol
|
||||
ontaires d’Erik Braun pour me joindre à l’équipe de CTAN. Erik a sem
|
||||
blé ravi : sans doute d’avoir si facilement déniché un nouveau collab
|
||||
orateur\, et assurément parce que je me trouve dans un fuseau horaire (UT
|
||||
C-5) différent des autres membres de l’équipe\, tous postés outre-Rhi
|
||||
n. Pour différentes raisons\, je n’ai commencé à contribuer activemen
|
||||
t qu’en mai 2025. Denis n’aura ensuite pas mis de temps à me repérer
|
||||
. Pourquoi m’impliquer dans ce projet ? En quoi les tâches consistent-e
|
||||
lles ? Est-ce payant ? J’essaierai de répondre à ces questions\, en pl
|
||||
us de vous entretenir des bonnes et moins bonnes pratiques en matière de
|
||||
préparation de paquetage (oui\, je préfère ce terme à « package »).
|
||||
Qui sait\, je pourrais même effectuer une démo !</div>\n</blockquote>\n<
|
||||
div class="quote_container"> </div>\n<div class="quote_container"><br>Cet
|
||||
exposé est donné dans le cadre des <a href="https://podulco.univ-littor
|
||||
al.fr/meeting/0096-exposes-gutenberg/f9f3d98879f1e84cf92ef51e3ce240f0ff203
|
||||
30249ec50ce7278adc8059c4d28">exposés mensuels GUTenberg</a>. <strong>Si v
|
||||
ous appréciez ces exposés</strong>\, et plus généralement les actions
|
||||
qu'elle mène (<a href="https://publications.gutenberg-asso.fr/lettre">la
|
||||
Lettre</a>\, <a href="https://www.gutenberg-asso.fr/-Journees-GUTenberg-">
|
||||
Journées</a>\, <a href="https://faq.gutenberg-asso.fr/">FAQ</a>\, <a href
|
||||
="https://texnique.fr/">TeXnique.fr</a>\, etc.)\, <strong>n'hésitez pas
|
||||
à <a href="https://www.gutenberg-asso.fr/Adherer-a-l-association">adhére
|
||||
r à l'association GUTenberg</a></strong>.</div>\n</div>\n</div>
|
||||
END:VEVENT
|
||||
BEGIN:VEVENT
|
||||
DTSTAMP;TZID=Europe/Paris:20251004T082654
|
||||
UID:33482@agendadulibre.org
|
||||
DTSTART;TZID=Europe/Paris:20251010T090000
|
||||
|
@ -3148,6 +2907,39 @@ X-ALT-DESC;FMTTYPE=text/html:<p><img style="display: block\; margin-left: a
|
|||
g.fr/eJ2lKkIrVEf06</a></p>\n<p> </p>
|
||||
END:VEVENT
|
||||
BEGIN:VEVENT
|
||||
DTSTAMP;TZID=Europe/Paris:20251010T060649
|
||||
UID:33608@agendadulibre.org
|
||||
DTSTART;TZID=Europe/Paris:20251015T123000
|
||||
DTEND;TZID=Europe/Paris:20251015T170000
|
||||
DESCRIPTION:Assistance technique et démonstration concernant les logiciels
|
||||
libres.\n\n\n\nIl est préférable de réserver votre place à [contact (
|
||||
at) linuxmaine (point) org ](mailto:contact@linuxmaine)\n\nPlanning des r
|
||||
éservations consultable[ ici.][1]\n\n\n\n[1]: https://linuxmaine.org/spip
|
||||
.php?rubrique6\n
|
||||
GEO:47.9737;0.2095
|
||||
LOCATION:Centre social\, salle 220\, 2ème étage\, pôle associatif Coluch
|
||||
e\, 31 allée Claude Debussy\, Le Mans\, Pays de la Loire\, France
|
||||
ORGANIZER:mailto:contact@linuxmaine.org
|
||||
SEQUENCE:2
|
||||
SUMMARY:Permanence du mercredi
|
||||
URL;VALUE=URI:https://linuxmaine.org
|
||||
CATEGORIES:linuxmaine
|
||||
CATEGORIES:gnu-linux
|
||||
CATEGORIES:demonstration
|
||||
CATEGORIES:assistance
|
||||
CATEGORIES:permanence
|
||||
CATEGORIES:logiciels-libres
|
||||
CATEGORIES:linux
|
||||
X-ALT-DESC;FMTTYPE=text/html:<p>Assistance technique et démonstration conc
|
||||
ernant les logiciels libres.</p>\n<p><img style="display: block\; margin-l
|
||||
eft: auto\; margin-right: auto\;" src="https://linuxmaine.org/IMG/logo/202
|
||||
3-4.jpg?1690907586" alt="" width="651" height="231"></p>\n<p>Il est préf
|
||||
érable de réserver votre place à <a href="mailto:contact@linuxmaine">co
|
||||
ntact (at) linuxmaine (point) org </a></p>\n<p>Planning des réservations
|
||||
consultable<a href="https://linuxmaine.org/spip.php?rubrique6"> ici.</a><
|
||||
/p>
|
||||
END:VEVENT
|
||||
BEGIN:VEVENT
|
||||
DTSTAMP;TZID=Europe/Paris:20250922T112308
|
||||
UID:33353@agendadulibre.org
|
||||
DTSTART;TZID=Europe/Paris:20251015T140000
|
||||
|
@ -35443,6 +35235,39 @@ X-ALT-DESC;FMTTYPE=text/html:<p style="text-align: center\;">La Guilde vous
|
|||
de"></p>
|
||||
END:VEVENT
|
||||
BEGIN:VEVENT
|
||||
DTSTAMP;TZID=Europe/Paris:20251010T060649
|
||||
UID:33610@agendadulibre.org
|
||||
DTSTART;TZID=Europe/Paris:20251022T123000
|
||||
DTEND;TZID=Europe/Paris:20251022T170000
|
||||
DESCRIPTION:Assistance technique et démonstration concernant les logiciels
|
||||
libres.\n\n\n\nIl est préférable de réserver votre place à [contact (
|
||||
at) linuxmaine (point) org ](mailto:contact@linuxmaine)\n\nPlanning des r
|
||||
éservations consultable[ ici.][1]\n\n\n\n[1]: https://linuxmaine.org/spip
|
||||
.php?rubrique6\n
|
||||
GEO:47.9737;0.2095
|
||||
LOCATION:Centre social\, salle 220\, 2ème étage\, pôle associatif Coluch
|
||||
e\, 31 allée Claude Debussy\, Le Mans\, Pays de la Loire\, France
|
||||
ORGANIZER:mailto:contact@linuxmaine.org
|
||||
SEQUENCE:1
|
||||
SUMMARY:Permanence du mercredi
|
||||
URL;VALUE=URI:https://linuxmaine.org
|
||||
CATEGORIES:linuxmaine
|
||||
CATEGORIES:gnu-linux
|
||||
CATEGORIES:demonstration
|
||||
CATEGORIES:assistance
|
||||
CATEGORIES:permanence
|
||||
CATEGORIES:logiciels-libres
|
||||
CATEGORIES:linux
|
||||
X-ALT-DESC;FMTTYPE=text/html:<p>Assistance technique et démonstration conc
|
||||
ernant les logiciels libres.</p>\n<p><img style="display: block\; margin-l
|
||||
eft: auto\; margin-right: auto\;" src="https://linuxmaine.org/IMG/logo/202
|
||||
3-4.jpg?1690907586" alt="" width="651" height="231"></p>\n<p>Il est préf
|
||||
érable de réserver votre place à <a href="mailto:contact@linuxmaine">co
|
||||
ntact (at) linuxmaine (point) org </a></p>\n<p>Planning des réservations
|
||||
consultable<a href="https://linuxmaine.org/spip.php?rubrique6"> ici.</a><
|
||||
/p>
|
||||
END:VEVENT
|
||||
BEGIN:VEVENT
|
||||
DTSTAMP;TZID=Europe/Paris:20250922T112416
|
||||
UID:33354@agendadulibre.org
|
||||
DTSTART;TZID=Europe/Paris:20251022T140000
|
||||
|
@ -36975,6 +36800,39 @@ X-ALT-DESC;FMTTYPE=text/html:<p><img style="float: right\;" src="http://caf
|
|||
s retrouver<span class="finePre">!</span></p>
|
||||
END:VEVENT
|
||||
BEGIN:VEVENT
|
||||
DTSTAMP;TZID=Europe/Paris:20251010T060651
|
||||
UID:33611@agendadulibre.org
|
||||
DTSTART;TZID=Europe/Paris:20251029T123000
|
||||
DTEND;TZID=Europe/Paris:20251029T170000
|
||||
DESCRIPTION:Assistance technique et démonstration concernant les logiciels
|
||||
libres.\n\n\n\nIl est préférable de réserver votre place à [contact (
|
||||
at) linuxmaine (point) org ](mailto:contact@linuxmaine)\n\nPlanning des r
|
||||
éservations consultable[ ici.][1]\n\n\n\n[1]: https://linuxmaine.org/spip
|
||||
.php?rubrique6\n
|
||||
GEO:47.9737;0.2095
|
||||
LOCATION:Centre social\, salle 220\, 2ème étage\, pôle associatif Coluch
|
||||
e\, 31 allée Claude Debussy\, Le Mans\, Pays de la Loire\, France
|
||||
ORGANIZER:mailto:contact@linuxmaine.org
|
||||
SEQUENCE:1
|
||||
SUMMARY:Permanence du mercredi
|
||||
URL;VALUE=URI:https://linuxmaine.org
|
||||
CATEGORIES:linuxmaine
|
||||
CATEGORIES:gnu-linux
|
||||
CATEGORIES:demonstration
|
||||
CATEGORIES:assistance
|
||||
CATEGORIES:permanence
|
||||
CATEGORIES:logiciels-libres
|
||||
CATEGORIES:linux
|
||||
X-ALT-DESC;FMTTYPE=text/html:<p>Assistance technique et démonstration conc
|
||||
ernant les logiciels libres.</p>\n<p><img style="display: block\; margin-l
|
||||
eft: auto\; margin-right: auto\;" src="https://linuxmaine.org/IMG/logo/202
|
||||
3-4.jpg?1690907586" alt="" width="651" height="231"></p>\n<p>Il est préf
|
||||
érable de réserver votre place à <a href="mailto:contact@linuxmaine">co
|
||||
ntact (at) linuxmaine (point) org </a></p>\n<p>Planning des réservations
|
||||
consultable<a href="https://linuxmaine.org/spip.php?rubrique6"> ici.</a><
|
||||
/p>
|
||||
END:VEVENT
|
||||
BEGIN:VEVENT
|
||||
DTSTAMP;TZID=Europe/Paris:20250922T112512
|
||||
UID:33355@agendadulibre.org
|
||||
DTSTART;TZID=Europe/Paris:20251029T140000
|
||||
|
@ -37864,6 +37722,39 @@ X-ALT-DESC;FMTTYPE=text/html:<p><a href="https://clx.asso.fr">L'Association
|
|||
s Martyrs de la résistance\, Croix.</p>
|
||||
END:VEVENT
|
||||
BEGIN:VEVENT
|
||||
DTSTAMP;TZID=Europe/Paris:20251010T060651
|
||||
UID:33612@agendadulibre.org
|
||||
DTSTART;TZID=Europe/Paris:20251105T123000
|
||||
DTEND;TZID=Europe/Paris:20251105T170000
|
||||
DESCRIPTION:Assistance technique et démonstration concernant les logiciels
|
||||
libres.\n\n\n\nIl est préférable de réserver votre place à [contact (
|
||||
at) linuxmaine (point) org ](mailto:contact@linuxmaine)\n\nPlanning des r
|
||||
éservations consultable[ ici.][1]\n\n\n\n[1]: https://linuxmaine.org/spip
|
||||
.php?rubrique6\n
|
||||
GEO:47.9737;0.2095
|
||||
LOCATION:Centre social\, salle 220\, 2ème étage\, pôle associatif Coluch
|
||||
e\, 31 allée Claude Debussy\, Le Mans\, Pays de la Loire\, France
|
||||
ORGANIZER:mailto:contact@linuxmaine.org
|
||||
SEQUENCE:1
|
||||
SUMMARY:Permanence du mercredi
|
||||
URL;VALUE=URI:https://linuxmaine.org
|
||||
CATEGORIES:linuxmaine
|
||||
CATEGORIES:gnu-linux
|
||||
CATEGORIES:demonstration
|
||||
CATEGORIES:assistance
|
||||
CATEGORIES:permanence
|
||||
CATEGORIES:logiciels-libres
|
||||
CATEGORIES:linux
|
||||
X-ALT-DESC;FMTTYPE=text/html:<p>Assistance technique et démonstration conc
|
||||
ernant les logiciels libres.</p>\n<p><img style="display: block\; margin-l
|
||||
eft: auto\; margin-right: auto\;" src="https://linuxmaine.org/IMG/logo/202
|
||||
3-4.jpg?1690907586" alt="" width="651" height="231"></p>\n<p>Il est préf
|
||||
érable de réserver votre place à <a href="mailto:contact@linuxmaine">co
|
||||
ntact (at) linuxmaine (point) org </a></p>\n<p>Planning des réservations
|
||||
consultable<a href="https://linuxmaine.org/spip.php?rubrique6"> ici.</a><
|
||||
/p>
|
||||
END:VEVENT
|
||||
BEGIN:VEVENT
|
||||
DTSTAMP;TZID=Europe/Paris:20250922T112607
|
||||
UID:33356@agendadulibre.org
|
||||
DTSTART;TZID=Europe/Paris:20251105T140000
|
||||
|
@ -38732,6 +38623,37 @@ X-ALT-DESC;FMTTYPE=text/html:<p><img style="float: right\;" role="presentat
|
|||
/inscription-wikipedia</a></p>
|
||||
END:VEVENT
|
||||
BEGIN:VEVENT
|
||||
DTSTAMP;TZID=Europe/Paris:20251010T060732
|
||||
UID:33609@agendadulibre.org
|
||||
DTSTART;TZID=Europe/Paris:20251108T140000
|
||||
DTEND;TZID=Europe/Paris:20251108T180000
|
||||
DESCRIPTION:Assistance technique et démonstration concernant les logiciels
|
||||
libres.\n\n\n\nAttention\, réservez votre place par [contact (at) linux
|
||||
maine.org ](mailto:contact@linuxmaine)\n\nPlanning des réservations cons
|
||||
ultable[ ici.][1]\n\n\n\n[1]: https://linuxmaine.org/spip.php?rubrique6\n
|
||||
GEO:47.9737;0.2095
|
||||
LOCATION:Centre social\, salle 220\, 2ème étage\, pôle associatif Coluch
|
||||
e\, 31 allée Claude Debussy\, Le Mans\, Pays de la Loire\, France
|
||||
ORGANIZER:mailto:contatct@linuxmaine.org
|
||||
SEQUENCE:2
|
||||
SUMMARY:Permanence mensuelle du samedi
|
||||
URL;VALUE=URI:https://linuxmaine.org
|
||||
CATEGORIES:linuxmaine
|
||||
CATEGORIES:gnu-linux
|
||||
CATEGORIES:demonstration
|
||||
CATEGORIES:assistance
|
||||
CATEGORIES:permanence
|
||||
CATEGORIES:logiciels-libres
|
||||
CATEGORIES:linux
|
||||
X-ALT-DESC;FMTTYPE=text/html:<p>Assistance technique et démonstration conc
|
||||
ernant les logiciels libres.</p>\n<p><img style="display: block\; margin-l
|
||||
eft: auto\; margin-right: auto\;" src="https://linuxmaine.org/IMG/logo/202
|
||||
3-4.jpg?1690907586" alt="" width="651" height="231"></p>\n<p>Attention\, r
|
||||
éservez votre place par <a href="mailto:contact@linuxmaine">contact (at)
|
||||
linuxmaine.org </a></p>\n<p>Planning des réservations consultable<a hre
|
||||
f="https://linuxmaine.org/spip.php?rubrique6"> ici.</a></p>
|
||||
END:VEVENT
|
||||
BEGIN:VEVENT
|
||||
DTSTAMP;TZID=Europe/Paris:20250910T135434
|
||||
UID:33233@agendadulibre.org
|
||||
DTSTART;TZID=Europe/Paris:20251108T150000
|
||||
|
@ -39060,6 +38982,39 @@ X-ALT-DESC;FMTTYPE=text/html:<p><img style="display: block\; margin-left: a
|
|||
otidienne 😄</p>
|
||||
END:VEVENT
|
||||
BEGIN:VEVENT
|
||||
DTSTAMP;TZID=Europe/Paris:20251010T060652
|
||||
UID:33613@agendadulibre.org
|
||||
DTSTART;TZID=Europe/Paris:20251112T123000
|
||||
DTEND;TZID=Europe/Paris:20251112T170000
|
||||
DESCRIPTION:Assistance technique et démonstration concernant les logiciels
|
||||
libres.\n\n\n\nIl est préférable de réserver votre place à [contact (
|
||||
at) linuxmaine (point) org ](mailto:contact@linuxmaine)\n\nPlanning des r
|
||||
éservations consultable[ ici.][1]\n\n\n\n[1]: https://linuxmaine.org/spip
|
||||
.php?rubrique6\n
|
||||
GEO:47.9737;0.2095
|
||||
LOCATION:Centre social\, salle 220\, 2ème étage\, pôle associatif Coluch
|
||||
e\, 31 allée Claude Debussy\, Le Mans\, Pays de la Loire\, France
|
||||
ORGANIZER:mailto:contact@linuxmaine.org
|
||||
SEQUENCE:1
|
||||
SUMMARY:Permanence du mercredi
|
||||
URL;VALUE=URI:https://linuxmaine.org
|
||||
CATEGORIES:linuxmaine
|
||||
CATEGORIES:gnu-linux
|
||||
CATEGORIES:demonstration
|
||||
CATEGORIES:assistance
|
||||
CATEGORIES:permanence
|
||||
CATEGORIES:logiciels-libres
|
||||
CATEGORIES:linux
|
||||
X-ALT-DESC;FMTTYPE=text/html:<p>Assistance technique et démonstration conc
|
||||
ernant les logiciels libres.</p>\n<p><img style="display: block\; margin-l
|
||||
eft: auto\; margin-right: auto\;" src="https://linuxmaine.org/IMG/logo/202
|
||||
3-4.jpg?1690907586" alt="" width="651" height="231"></p>\n<p>Il est préf
|
||||
érable de réserver votre place à <a href="mailto:contact@linuxmaine">co
|
||||
ntact (at) linuxmaine (point) org </a></p>\n<p>Planning des réservations
|
||||
consultable<a href="https://linuxmaine.org/spip.php?rubrique6"> ici.</a><
|
||||
/p>
|
||||
END:VEVENT
|
||||
BEGIN:VEVENT
|
||||
DTSTAMP;TZID=Europe/Paris:20250922T112704
|
||||
UID:33357@agendadulibre.org
|
||||
DTSTART;TZID=Europe/Paris:20251112T140000
|
||||
|
@ -40450,6 +40405,39 @@ X-ALT-DESC;FMTTYPE=text/html:<p style="text-align: center\;">La Guilde vous
|
|||
de"></p>
|
||||
END:VEVENT
|
||||
BEGIN:VEVENT
|
||||
DTSTAMP;TZID=Europe/Paris:20251010T060653
|
||||
UID:33614@agendadulibre.org
|
||||
DTSTART;TZID=Europe/Paris:20251119T123000
|
||||
DTEND;TZID=Europe/Paris:20251119T170000
|
||||
DESCRIPTION:Assistance technique et démonstration concernant les logiciels
|
||||
libres.\n\n\n\nIl est préférable de réserver votre place à [contact (
|
||||
at) linuxmaine (point) org ](mailto:contact@linuxmaine)\n\nPlanning des r
|
||||
éservations consultable[ ici.][1]\n\n\n\n[1]: https://linuxmaine.org/spip
|
||||
.php?rubrique6\n
|
||||
GEO:47.9737;0.2095
|
||||
LOCATION:Centre social\, salle 220\, 2ème étage\, pôle associatif Coluch
|
||||
e\, 31 allée Claude Debussy\, Le Mans\, Pays de la Loire\, France
|
||||
ORGANIZER:mailto:contact@linuxmaine.org
|
||||
SEQUENCE:1
|
||||
SUMMARY:Permanence du mercredi
|
||||
URL;VALUE=URI:https://linuxmaine.org
|
||||
CATEGORIES:linuxmaine
|
||||
CATEGORIES:gnu-linux
|
||||
CATEGORIES:demonstration
|
||||
CATEGORIES:assistance
|
||||
CATEGORIES:permanence
|
||||
CATEGORIES:logiciels-libres
|
||||
CATEGORIES:linux
|
||||
X-ALT-DESC;FMTTYPE=text/html:<p>Assistance technique et démonstration conc
|
||||
ernant les logiciels libres.</p>\n<p><img style="display: block\; margin-l
|
||||
eft: auto\; margin-right: auto\;" src="https://linuxmaine.org/IMG/logo/202
|
||||
3-4.jpg?1690907586" alt="" width="651" height="231"></p>\n<p>Il est préf
|
||||
érable de réserver votre place à <a href="mailto:contact@linuxmaine">co
|
||||
ntact (at) linuxmaine (point) org </a></p>\n<p>Planning des réservations
|
||||
consultable<a href="https://linuxmaine.org/spip.php?rubrique6"> ici.</a><
|
||||
/p>
|
||||
END:VEVENT
|
||||
BEGIN:VEVENT
|
||||
DTSTAMP;TZID=Europe/Paris:20250922T112800
|
||||
UID:33358@agendadulibre.org
|
||||
DTSTART;TZID=Europe/Paris:20251119T140000
|
||||
|
@ -41618,6 +41606,39 @@ X-ALT-DESC;FMTTYPE=text/html:<p><img style="float: right\;" src="http://caf
|
|||
s retrouver<span class="finePre">!</span></p>
|
||||
END:VEVENT
|
||||
BEGIN:VEVENT
|
||||
DTSTAMP;TZID=Europe/Paris:20251010T060654
|
||||
UID:33615@agendadulibre.org
|
||||
DTSTART;TZID=Europe/Paris:20251126T123000
|
||||
DTEND;TZID=Europe/Paris:20251126T170000
|
||||
DESCRIPTION:Assistance technique et démonstration concernant les logiciels
|
||||
libres.\n\n\n\nIl est préférable de réserver votre place à [contact (
|
||||
at) linuxmaine (point) org ](mailto:contact@linuxmaine)\n\nPlanning des r
|
||||
éservations consultable[ ici.][1]\n\n\n\n[1]: https://linuxmaine.org/spip
|
||||
.php?rubrique6\n
|
||||
GEO:47.9737;0.2095
|
||||
LOCATION:Centre social\, salle 220\, 2ème étage\, pôle associatif Coluch
|
||||
e\, 31 allée Claude Debussy\, Le Mans\, Pays de la Loire\, France
|
||||
ORGANIZER:mailto:contact@linuxmaine.org
|
||||
SEQUENCE:1
|
||||
SUMMARY:Permanence du mercredi
|
||||
URL;VALUE=URI:https://linuxmaine.org
|
||||
CATEGORIES:linuxmaine
|
||||
CATEGORIES:gnu-linux
|
||||
CATEGORIES:demonstration
|
||||
CATEGORIES:assistance
|
||||
CATEGORIES:permanence
|
||||
CATEGORIES:logiciels-libres
|
||||
CATEGORIES:linux
|
||||
X-ALT-DESC;FMTTYPE=text/html:<p>Assistance technique et démonstration conc
|
||||
ernant les logiciels libres.</p>\n<p><img style="display: block\; margin-l
|
||||
eft: auto\; margin-right: auto\;" src="https://linuxmaine.org/IMG/logo/202
|
||||
3-4.jpg?1690907586" alt="" width="651" height="231"></p>\n<p>Il est préf
|
||||
érable de réserver votre place à <a href="mailto:contact@linuxmaine">co
|
||||
ntact (at) linuxmaine (point) org </a></p>\n<p>Planning des réservations
|
||||
consultable<a href="https://linuxmaine.org/spip.php?rubrique6"> ici.</a><
|
||||
/p>
|
||||
END:VEVENT
|
||||
BEGIN:VEVENT
|
||||
DTSTAMP;TZID=Europe/Paris:20250922T112848
|
||||
UID:33359@agendadulibre.org
|
||||
DTSTART;TZID=Europe/Paris:20251126T140000
|
||||
|
|
|
@ -106,7 +106,7 @@ class CCPLAgendaScraper:
|
|||
cached_hash = self.cache_data.get("content_hash")
|
||||
return cached_hash != new_hash
|
||||
|
||||
def fetch_agenda_data(self) -> Optional[str]:
|
||||
def fetch_agenda_data(self, force_refresh: bool = False) -> Optional[str]:
|
||||
"""Récupère les données de l'agenda CCPL"""
|
||||
try:
|
||||
logger.info(f"🌐 Récupération de l'agenda CCPL: {self.agenda_url}")
|
||||
|
@ -121,9 +121,12 @@ class CCPLAgendaScraper:
|
|||
content = response.text
|
||||
content_hash = self.get_content_hash(content)
|
||||
|
||||
# Vérifier si le contenu a changé
|
||||
if self.is_content_changed(content_hash):
|
||||
logger.info("🔄 Nouveau contenu détecté, mise à jour du cache")
|
||||
# Vérifier si le contenu a changé ou si on force le rafraîchissement
|
||||
if self.is_content_changed(content_hash) or force_refresh:
|
||||
if force_refresh:
|
||||
logger.info("🔄 Rafraîchissement forcé, mise à jour du cache")
|
||||
else:
|
||||
logger.info("🔄 Nouveau contenu détecté, mise à jour du cache")
|
||||
self.cache_data["content_hash"] = content_hash
|
||||
self.cache_data["last_fetch"] = datetime.now().isoformat()
|
||||
self.save_cache_data()
|
||||
|
@ -282,7 +285,7 @@ class CCPLAgendaScraper:
|
|||
"label": title,
|
||||
"description": description,
|
||||
"type": "scheduled",
|
||||
"what": "culture.community",
|
||||
"what": "culture.community.ccpl",
|
||||
"where": location,
|
||||
"start": self.parse_date(date_text),
|
||||
"stop": self.parse_date(date_text, end=True),
|
||||
|
@ -894,7 +897,7 @@ class CCPLAgendaScraper:
|
|||
|
||||
try:
|
||||
# Récupérer les données de l'agenda
|
||||
html_content = self.fetch_agenda_data()
|
||||
html_content = self.fetch_agenda_data(force_refresh)
|
||||
|
||||
if html_content is None and not force_refresh:
|
||||
logger.info("ℹ️ Utilisation du cache (pas de nouveau contenu)")
|
||||
|
|
79
extractors/debug_viparis_html.py
Normal file
79
extractors/debug_viparis_html.py
Normal file
|
@ -0,0 +1,79 @@
|
|||
#!/usr/bin/env python3
|
||||
"""
|
||||
Script de debug pour analyser la structure HTML de la page Viparis
|
||||
"""
|
||||
|
||||
import requests
|
||||
from bs4 import BeautifulSoup
|
||||
import re
|
||||
|
||||
def analyze_viparis_structure():
|
||||
"""Analyse la structure HTML de la page Viparis"""
|
||||
url = "https://www.viparis.com/actualites-evenements/evenements"
|
||||
|
||||
headers = {
|
||||
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36'
|
||||
}
|
||||
|
||||
try:
|
||||
print(f"🔍 Analyse de la structure HTML de: {url}")
|
||||
response = requests.get(url, headers=headers, timeout=30)
|
||||
response.raise_for_status()
|
||||
|
||||
soup = BeautifulSoup(response.text, 'html.parser')
|
||||
|
||||
# Chercher les éléments contenant des événements
|
||||
print("\n📋 Recherche d'éléments d'événements...")
|
||||
|
||||
# Chercher des patterns communs pour les événements
|
||||
event_patterns = [
|
||||
'event', 'evenement', 'agenda', 'salon', 'exposition', 'congres'
|
||||
]
|
||||
|
||||
for pattern in event_patterns:
|
||||
elements = soup.find_all(string=re.compile(pattern, re.I))
|
||||
if elements:
|
||||
print(f"✅ Trouvé '{pattern}': {len(elements)} éléments")
|
||||
for i, elem in enumerate(elements[:3]): # Afficher les 3 premiers
|
||||
print(f" {i+1}: {elem.strip()[:100]}...")
|
||||
|
||||
# Chercher des divs avec des classes qui pourraient contenir des événements
|
||||
print("\n🔍 Recherche de divs avec classes d'événements...")
|
||||
div_classes = soup.find_all('div', class_=re.compile(r'event|evenement|agenda|salon|expo', re.I))
|
||||
print(f"Divs avec classes d'événements: {len(div_classes)}")
|
||||
|
||||
# Chercher des liens qui pourraient être des événements
|
||||
print("\n🔗 Recherche de liens d'événements...")
|
||||
event_links = soup.find_all('a', href=re.compile(r'event|evenement|salon|expo', re.I))
|
||||
print(f"Liens d'événements: {len(event_links)}")
|
||||
|
||||
# Chercher des images d'événements
|
||||
print("\n🖼️ Recherche d'images d'événements...")
|
||||
event_images = soup.find_all('img', src=re.compile(r'event|evenement|salon|expo', re.I))
|
||||
print(f"Images d'événements: {len(event_images)}")
|
||||
|
||||
# Chercher des éléments avec des dates
|
||||
print("\n📅 Recherche d'éléments avec des dates...")
|
||||
date_elements = soup.find_all(string=re.compile(r'\d{1,2}/\d{1,2}/\d{4}|\d{1,2}\s+\w+\s+\d{4}', re.I))
|
||||
print(f"Éléments avec dates: {len(date_elements)}")
|
||||
for i, elem in enumerate(date_elements[:5]):
|
||||
print(f" {i+1}: {elem.strip()}")
|
||||
|
||||
# Chercher des éléments avec des titres d'événements
|
||||
print("\n📝 Recherche de titres d'événements...")
|
||||
title_elements = soup.find_all(['h1', 'h2', 'h3', 'h4', 'h5', 'h6'], string=re.compile(r'BattleKart|Virtual Room|PRODURABLE|RÉÉDUCA|SALON', re.I))
|
||||
print(f"Titres d'événements: {len(title_elements)}")
|
||||
for i, elem in enumerate(title_elements[:5]):
|
||||
print(f" {i+1}: {elem.get_text().strip()}")
|
||||
|
||||
# Sauvegarder le HTML pour analyse
|
||||
with open('viparis_debug.html', 'w', encoding='utf-8') as f:
|
||||
f.write(response.text)
|
||||
print(f"\n💾 HTML sauvegardé dans viparis_debug.html")
|
||||
|
||||
except Exception as e:
|
||||
print(f"❌ Erreur: {e}")
|
||||
|
||||
if __name__ == "__main__":
|
||||
analyze_viparis_structure()
|
||||
|
105
extractors/test_viparis_structure.py
Normal file
105
extractors/test_viparis_structure.py
Normal file
|
@ -0,0 +1,105 @@
|
|||
#!/usr/bin/env python3
|
||||
"""
|
||||
Script de test pour analyser la structure des données Viparis
|
||||
"""
|
||||
|
||||
import requests
|
||||
import json
|
||||
import re
|
||||
from bs4 import BeautifulSoup
|
||||
|
||||
def analyze_viparis_data():
|
||||
"""Analyse la structure des données Viparis"""
|
||||
url = "https://www.viparis.com/actualites-evenements/evenements"
|
||||
|
||||
headers = {
|
||||
'User-Agent': 'Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.124 Safari/537.36'
|
||||
}
|
||||
|
||||
try:
|
||||
print(f"🔍 Analyse de la structure des données Viparis: {url}")
|
||||
response = requests.get(url, headers=headers, timeout=30)
|
||||
response.raise_for_status()
|
||||
|
||||
soup = BeautifulSoup(response.text, 'html.parser')
|
||||
|
||||
# Chercher les scripts avec des données JSON
|
||||
script_tags = soup.find_all('script')
|
||||
|
||||
for i, script in enumerate(script_tags):
|
||||
if script.string and 'window.__NUXT__' in script.string:
|
||||
print(f"\n📜 Script {i+1} trouvé avec window.__NUXT__")
|
||||
script_content = script.string
|
||||
|
||||
# Extraire le JSON
|
||||
match = re.search(r'window\.__NUXT__\s*=\s*({.*?});', script_content, re.DOTALL)
|
||||
if match:
|
||||
try:
|
||||
nuxt_data = json.loads(match.group(1))
|
||||
print("✅ JSON parsé avec succès")
|
||||
|
||||
# Analyser la structure
|
||||
print(f"\n🔍 Structure de niveau 1:")
|
||||
for key in nuxt_data.keys():
|
||||
print(f" - {key}: {type(nuxt_data[key])}")
|
||||
|
||||
# Chercher les événements
|
||||
if 'state' in nuxt_data:
|
||||
state = nuxt_data['state']
|
||||
print(f"\n🔍 Structure de state:")
|
||||
for key in state.keys():
|
||||
print(f" - {key}: {type(state[key])}")
|
||||
|
||||
# Chercher les événements dans différentes clés possibles
|
||||
possible_event_keys = ['events', 'event', 'data', 'items', 'results']
|
||||
for key in possible_event_keys:
|
||||
if key in state:
|
||||
events_data = state[key]
|
||||
print(f"\n📅 Données d'événements trouvées dans '{key}':")
|
||||
print(f" Type: {type(events_data)}")
|
||||
if isinstance(events_data, list):
|
||||
print(f" Nombre d'éléments: {len(events_data)}")
|
||||
if events_data:
|
||||
print(f" Premier élément: {json.dumps(events_data[0], indent=2)[:500]}...")
|
||||
elif isinstance(events_data, dict):
|
||||
print(f" Clés: {list(events_data.keys())}")
|
||||
if 'data' in events_data:
|
||||
data = events_data['data']
|
||||
if isinstance(data, list):
|
||||
print(f" Nombre d'événements dans data: {len(data)}")
|
||||
if data:
|
||||
print(f" Premier événement: {json.dumps(data[0], indent=2)[:500]}...")
|
||||
|
||||
# Chercher des patterns d'événements dans tout le JSON
|
||||
print(f"\n🔍 Recherche de patterns d'événements...")
|
||||
json_str = json.dumps(nuxt_data)
|
||||
|
||||
# Chercher des noms d'événements connus
|
||||
event_names = ['BattleKart', 'Virtual Room', 'PRODURABLE', 'RÉÉDUCA', 'SALON']
|
||||
for name in event_names:
|
||||
if name in json_str:
|
||||
print(f" ✅ Trouvé '{name}' dans les données")
|
||||
|
||||
# Chercher des dates
|
||||
date_patterns = [r'\d{4}-\d{2}-\d{2}', r'\d{1,2}/\d{1,2}/\d{4}']
|
||||
for pattern in date_patterns:
|
||||
matches = re.findall(pattern, json_str)
|
||||
if matches:
|
||||
print(f" 📅 Dates trouvées ({pattern}): {matches[:5]}")
|
||||
|
||||
break
|
||||
|
||||
except json.JSONDecodeError as e:
|
||||
print(f"❌ Erreur JSON: {e}")
|
||||
continue
|
||||
else:
|
||||
print("❌ Pattern window.__NUXT__ non trouvé")
|
||||
|
||||
print("\n✅ Analyse terminée")
|
||||
|
||||
except Exception as e:
|
||||
print(f"❌ Erreur: {e}")
|
||||
|
||||
if __name__ == "__main__":
|
||||
analyze_viparis_data()
|
||||
|
1760
extractors/viparis_events.py
Normal file
1760
extractors/viparis_events.py
Normal file
File diff suppressed because it is too large
Load diff
4196
mobilizon_cache.json
4196
mobilizon_cache.json
File diff suppressed because one or more lines are too long
Loading…
Add table
Add a link
Reference in a new issue