Paiement protégéEn savoir plus
- Les retouches prévues par la formule sont gratuites.
- Sans réponse de votre part dans les 3 jours suivant la livraison, le travail est validé automatiquement.
L’argent est réservé au paiement et versé uniquement une fois le travail validé.

Exemple de résultat
Parseur du catalogue d’un fournisseur d’outils de jardin vers Excel
À quoi ressemble le résultat
| Référence | Nom | Prix | En stock | Poids | Photo |
|---|---|---|---|---|---|
| GT-1042 | Sécateur, 20 mm | 18,90 | Oui | 0,24 kg | …/gt-1042.jpg |
| GT-1187 | Scie pliante, 210 mm | 24,50 | Oui | 0,31 kg | …/gt-1187.jpg |
| GT-2210 | Cisaille à haies, lame ondulée | 39,00 | Non | 1,10 kg | …/gt-2210.jpg |
| GT-3305 | Transplantoir, inox | 9,80 | Oui | 0,18 kg | …/gt-3305.jpg |
| GT-4120 | Tuyau d’arrosage 25 m, 1/2" | 42,00 | Oui | 2,90 kg | …/gt-4120.jpg |
Le fichier de l’exemple contient 1 236 produits issus de 52 pages de liste.
Un extrait du code
def product_links(list_url: str) -> Iterator[str]:
"""Liens des fiches produits de chaque page de la liste, en suivant « Suivant »."""
url: str | None = list_url
while url:
page = fetch(url)
for card in page.select("div.product-card a.title"):
yield urljoin(url, card["href"])
next_link = page.select_one("a.pagination-next")
url = urljoin(url, next_link["href"]) if next_link else None
def fetch(url: str) -> BeautifulSoup:
"""Une page publique, à un rythme raisonnable : une pause entre les requêtes et quelques essais en cas d’erreur."""
for attempt in range(3):
time.sleep(settings.delay_seconds)
response = session.get(url, timeout=30)
if response.status_code == 200:
return BeautifulSoup(response.text, "html.parser")
log.warning("%s a répondu %s, essai %d sur 3", url, response.status_code, attempt + 1)
raise ScraperError(f"{url} ne s’est pas ouverte après 3 essais")
Fichiers : une archive ZIP avec scraper.py, settings.ini (la page de départ, la pause entre les requêtes, le nom du fichier), requirements.txt et un README sur l’installation et le lancement. Il ne lit que des pages publiques, une toutes les 2 secondes, et consulte d’abord le robots.txt du site. Le client le lance sur son propre ordinateur.
Client : une jardinerie en ligne qui revend les outils d’un fournisseur ; celui-ci a un catalogue public sur son site, mais aucun fichier de tarifs. Tâche : parcourir les pages de liste du catalogue, ouvrir chaque fiche produit et enregistrer dans Excel la référence, le nom, le prix, le stock, le poids et le lien de la photo principale, pour comparer les prix une fois par semaine.
Le client et tous les détails sont fictifs.
À propos de ce service
Les blogueurs culinaires qui migrent leurs propres recettes, les applis de cuisine et les services de planification de repas utilisent ce parseur pour constituer un tableau de recettes à partir de pages publiques : titre, catégorie, cuisine, temps de préparation, parts, ingrédients, étapes, calories quand la page les affiche, lien de l’image et lien. Beaucoup de pages de recettes gardent aussi ces informations dans un bloc structuré invisible, et le parseur le lit quand il existe. Envoyez le site, une catégorie et une page de recette, et une ou deux pages enregistrées depuis votre navigateur. Vous recevez un code Python, un fichier de paramètres et un README et le lancez sur votre ordinateur. Les textes et photos des recettes appartiennent à leurs auteurs : n’utilisez que ce que vous avez le droit d’utiliser. Les noms d’auteurs sont exclus. Il lit les pages publiques à un rythme raisonnable et ne se connecte jamais, ne contourne ni captcha ni protection. C’est à vous de juger si les conditions du site le permettent ; un changement ultérieur de mise en page demande une mise à jour.
Ce qui est inclus
- Ce que vous recevezUne archive ZIP avec le code Python, un fichier de paramètres et un README avec des instructions pas à pas ; le code est aussi affiché sur la page de la commande.
- Ingrédients en listeUn ingrédient par ligne dans une cellule, ou une feuille séparée
- Temps et partsEn nombres filtrables
- Liens des imagesLiens seulement ; utilisez les photos que vous avez le droit d’utiliser
- Rythme raisonnableUne pause entre les pages, réglée dans les paramètres
- Tourne sur votre ordinateurWindows, macOS ou Linux, avec Python
Comment ça marche
- 1PagesVous donnez le site, une catégorie et une recette enregistrée
- 2ParseurNous écrivons le code et le guide pour le lancer
- 3LancementVous le lancez et comparez deux recettes avec le site
- 4RetouchesVous demandez des retouches selon votre formule et envoyez les éventuels messages d’erreur
Ce dont nous avons besoin
Le site de recettes et les pages précises : un lien vers une catégorie et vers une recette, et le nombre approximatif de recettes. Les champs voulus, ex. : titre, catégorie, cuisine, temps, parts, ingrédients, étapes, calories, lien de l’image. La présentation des ingrédients : une cellule ou une feuille séparée. Une ou deux de ces pages enregistrées depuis votre navigateur (Fichier > Enregistrer la page sous). Et s’il s’agit de vos propres recettes ou de celles d’un autre site.
Nous vous demanderons :
- Quel site et quelles pages ?
- Les champs voulus
- Combien de recettes environ ?
- Comment présenter les ingrédients ?
Comparer les formules
| Formules | EssentielRecettes depuis vos liens19 € | StandardUne rubrique de recettes entière38 € | PremiumJusqu’à 3 sites de recettes67 € |
|---|---|---|---|
| Délai | 1 jour | 2 jours | 3 jours |
| Retouches | 1 | 2 | 3 |
| Sites | 1 | 1 | jusqu’à 3 |
| Types de pages | 1 | 2 (liste de recettes et recette) | jusqu’à 3 |
| Champs | jusqu’à 10 | jusqu’à 25 | jusqu’à 25 sur chacun |
| Parcourt les pages d’une liste | Non | Oui | Oui |
| Fichier de résultats | CSV | Excel ou CSV | Excel, CSV ou JSON |
| Doublons retirés, reprise là où il s’est arrêté | Non | Non | Oui |
| Commander Essentiel | Commander Standard | Commander Premium |
Paiement protégé
Vous payez à la commande, mais l’argent n’est versé que pour un travail validé.
- Prix fixeLe prix de la formule ne change pas après le paiement.
- L’argent est réservéAu paiement, le montant est seulement réservé. Il n’est versé à Dleex qu’une fois le travail validé.
- Vérifié avant livraisonChaque résultat passe un contrôle qualité avant de vous parvenir, et vous le voyez sur la page de la commande avant de le valider.
- Retouches gratuitesDemandez des retouches dans le cadre de votre brief autant de fois que la formule le permet.
- Validation au bout de 3 joursSi, dans les 3 jours suivant la livraison, vous n’avez ni validé le travail ni demandé de retouches, il est validé automatiquement. Si vous écrivez dans le chat de la commande après la livraison, la commande est mise en attente ; après notre réponse, nous pourrons relancer le délai de 3 jours et vous le signalerons dans le chat.
- Travail refait ou remboursement intégralSi le résultat ne correspond pas à votre brief et que les retouches n’y ont rien changé, ou si le travail prend plus du double du délai prévu, écrivez dans le chat de la commande : nous referons le travail ou vous rembourserons intégralement.
Questions et réponses
Puis-je publier les recettes collectées sur mon site ?
Uniquement avec l’autorisation du propriétaire, ou s’il s’agit des vôtres. Les textes et photos des recettes appartiennent à leurs auteurs ; le parseur les collecte, et ce que vous publiez relève de votre décision.
Peut-il séparer quantités et unités ?
Oui, quand la page les écrit de façon régulière, comme le fait généralement le bloc structuré. Une ligne comme « une pincée de sel » reste telle quelle.
Peut-il calculer les calories ?
Non. Il ne prend les calories que lorsque la page les affiche, et nous ne calculons pas de valeurs nutritionnelles ni ne donnons de conseils diététiques.
Peut-il lire des recettes sur les réseaux sociaux ou les sites de vidéos ?
Non. Les réseaux sociaux, LinkedIn, Google et Amazon sont exclus : leurs conditions l’interdisent. Les sites de recettes conviennent si leurs conditions le permettent, ce qu’il vous revient de juger.
Vous n’avez pas trouvé la réponse ?