18 lines
1.9 KiB
Markdown
18 lines
1.9 KiB
Markdown
---
|
|
name: dofuspourlesnoobs.com is a Weebly site
|
|
description: Caractéristiques du rendu Weebly du site et conséquences pour le scraping
|
|
type: project
|
|
---
|
|
|
|
dofuspourlesnoobs.com est hébergé sur Weebly. Conséquences pratiques pour le scraping :
|
|
|
|
- Le contenu est servi en HTML statique côté serveur — pas de SPA, pas besoin de headless browser.
|
|
- L'éditeur WYSIWYG produit des **cascades énormes de `<span>` vides** (parfois 100+ niveaux) autour du moindre fragment de texte. Tous les sélecteurs doivent ignorer cette pollution (utiliser `.text()` qui aplatit, ou splitter directement sur `inner_html()`).
|
|
- Les libellés de sections (Prérequis, Récompenses, À prévoir, etc.) sont identifiés **par texte**, pas par classe CSS. Aucune classe sémantique n'est ajoutée par Weebly.
|
|
- Les couleurs sont en `<font color="#xxx">` inline (legacy), pas en CSS. Couleurs vues : `#f00`/`#f70000` Prérequis, `#3a96b8` Position de lancement, `#5fa233` Récompenses. À prévoir n'a pas de couleur propre.
|
|
- Les caractères accentués sont presque toujours encodés en entités HTML (`À`, `é`, etc.) dans la source — penser à `html.unescape` côté Rust ou utiliser `.text()` de scraper qui décode.
|
|
- Le `<div class="paragraph">` est le container Weebly de base pour un bloc de texte. Une page de quête type contient : 1 paragraph d'en-tête (méta-données) + N paragraphs d'étapes.
|
|
- Les slugs d'URL utilisent les entités HTML décodées : `é` → `eacute`, `à` → `agrave`, `ê` → `ecirc`, `ô` → `ocirc`, etc. Exemples : `quecirctes.html`, `mise-agrave-leacutepreuve.html`, `chemin-vers-meacuteriana.html`.
|
|
|
|
**How to apply** : quand on conçoit un sélecteur, ne jamais s'appuyer sur la profondeur DOM ni sur des classes CSS sémantiques (elles n'existent pas). S'appuyer sur le texte des `<strong>` et la position relative dans `inner_html()` du paragraph parent.
|