Parseur de catalogue fournisseurDéveloppement et personnalisation

Un parseur Python qui transforme le catalogue public d’un fournisseur en fichier d’import pour votre boutique, avec les liens des photos

Généralement prêt en 15 minutesRetouches inclusesContrôle qualité
Formules
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é.

Un parseur Python qui transforme le catalogue public d’un fournisseur en fichier d’import pour votre boutique, avec les liens des photos

Exemple de résultat

Exemple pour la formule Standard

Parseur du catalogue d’un fournisseur d’outils de jardin vers Excel

À quoi ressemble le résultat

RéférenceNomPrixEn stockPoidsPhoto
GT-1042Sécateur, 20 mm18,90Oui0,24 kg…/gt-1042.jpg
GT-1187Scie pliante, 210 mm24,50Oui0,31 kg…/gt-1187.jpg
GT-2210Cisaille à haies, lame ondulée39,00Non1,10 kg…/gt-2210.jpg
GT-3305Transplantoir, inox9,80Oui0,18 kg…/gt-3305.jpg
GT-4120Tuyau d’arrosage 25 m, 1/2"42,00Oui2,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

Quand un fournisseur présente sa gamme sur un site public mais n’envoie aucun fichier, ce parseur recopie le catalogue dans un tableau que votre boutique peut importer : nom, référence, prix, description, caractéristiques, catégorie et liens des photos, et il enregistre les photos dans un dossier. Envoyez le site du fournisseur, des liens vers une catégorie et une fiche produit, une ou deux pages enregistrées depuis votre navigateur et le modèle d’import de votre boutique, par exemple un CSV Shopify ou WooCommerce, pour que les colonnes le suivent. Vous recevez un code Python avec un fichier de paramètres et un README et le lancez sur votre ordinateur. N’utilisez que les photos et textes que le fournisseur vous autorise à utiliser. Il lit les pages publiques à un rythme raisonnable et ne se connecte jamais, ne contourne ni captcha ni protection et ne collecte aucune donnée personnelle. C’est à vous de juger si les conditions du site le permettent ; un changement ultérieur de sa 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.
  • Colonnes pour votre importDans l’ordre et avec les noms du fichier d’import de votre boutique
  • Photos prêtes à chargerLiens des photos dans une colonne et fichiers nommés par référence
  • Prix tels qu’affichésLe prix du fournisseur ; votre marge, vous l’ajoutez dans le tableau
  • Rythme raisonnableUne pause entre les pages, réglée dans les paramètres
  • Un guide simpleQuoi installer et comment le lancer, pas à pas

Comment ça marche

  1. 1
    CatalogueVous donnez les pages du fournisseur et votre modèle d’import
  2. 2
    ParseurNous écrivons le code et le guide pour le lancer
  3. 3
    Import de testVous le lancez et importez les premières lignes dans votre boutique
  4. 4
    RetouchesVous demandez des retouches selon votre formule et envoyez les éventuels messages d’erreur

Ce dont nous avons besoin

Le site du fournisseur : un lien vers une catégorie et vers une fiche produit, et le nombre approximatif de produits. Le modèle d’import de votre boutique ou un export de quelques-uns de vos produits, pour que les colonnes correspondent. Les champs voulus, comme nom, référence, prix, description, caractéristiques, catégorie, photos. Une ou deux pages du fournisseur enregistrées depuis votre navigateur (Fichier > Enregistrer la page sous). Le nommage des fichiers photo. Et votre confirmation que le fournisseur vous autorise à utiliser ses photos et ses textes.

Nous vous demanderons :

  • Quel site fournisseur et quelles pages ?
  • Votre boutique et son fichier d’import
  • Combien de produits environ ?
  • Photos

Comparer les formules

FormulesEssentielDes fiches produits au tableau20 €StandardUne section entière du catalogue39 €PremiumPlusieurs fournisseurs ou sections68 €
Délai1 jour2 jours3 jours
Retouches123
Sites11jusqu’à 3
Types de pages12 (catégorie et produit)jusqu’à 3
Champsjusqu’à 10jusqu’à 25jusqu’à 25 sur chacun
Parcourt les pages d’une listeNonOuiOui
Fichier de résultatsCSVExcel ou CSVExcel, CSV ou JSON
Doublons retirés, reprise là où il s’est arrêtéNonNonOui
Photosliens dans une colonne, fichiers dans un dossierliens dans une colonne, fichiers dans un dossierliens dans une colonne, fichiers dans un dossier
Commander EssentielCommander StandardCommander 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.
Comment ça marche →

Questions et réponses

Le fichier s’importera-t-il directement dans ma boutique ?

Les colonnes suivent le modèle que vous envoyez, donc dans la plupart des cas oui. Nous vérifions le fichier par rapport à votre modèle, pas dans votre boutique : faites un petit import des premières lignes avant de tout charger.

Puis-je utiliser les photos et descriptions du fournisseur ?

Seulement si le fournisseur l’autorise : elles appartiennent à leur propriétaire, et obtenir l’autorisation vous revient. Le parseur n’enregistre que les images que vous pouvez utiliser.

Peut-il lire les prix revendeurs derrière la connexion du fournisseur ?

Non. Il ne se connecte jamais : les prix revendeurs ou de gros derrière un compte restent hors de portée. Demandez un fichier de prix au fournisseur ; le parseur collecte quand même le reste du catalogue public.

Peut-il copier un catalogue depuis Amazon, Google ou une boutique de réseau social ?

Non. Leurs conditions l’interdisent ; il en va de même pour LinkedIn et les autres réseaux sociaux. Utilisez l’export officiel du service ou demandez un fichier au vendeur.

Et si le fournisseur modifie son site ?

Le parseur suit les pages telles qu’elles sont aujourd’hui. Un changement ultérieur de mise en page demande une mise à jour, qui fait l’objet d’une nouvelle commande.

Vous n’avez pas trouvé la réponse ?

Formules