• Analyseur de catalogue de pièces détachées avec protection anti-bot et normalisation des données dans PostgreSQL + mises à jour diff

    7 jours il y a
    • Budget souhaité jusqu’à 650.01 USD
    • En attente d’un prestataire...
  • Situation initiale : au service approvisionnement, nous maintenons notre propre catalogue de pièces automobiles et de remplacement. La publication de scènes réelles, d'annonces et de présentations dans le catalogue B2B du site, les pages rendues par JS, concernent les projets Dans XHR, il s'agit d'un antibot (préférences, limite de débit, CAPTCHA périodique), et les cartes ont la structure du menu. L'analyseur professionnel actuel, qui met régulièrement à jour les données et l'analyse physique, ne peut pas être identifié par vous-même.

    Environnement technique et introductions : Linux (Ubuntu 22.04), Python 3.11, PostgreSQL 15. Déploiement dans Docker Compose. Accès au B2B via login-mot de passe et 2FA en utilisant un code à usage unique envoyé par e-mail (un accès IMAP sera fourni). Nous fournirons des procurations, mais leur qualité varie. Nous stockons 2 langues de description (RU/EN), les devises peuvent être différentes.

    Ce qui devrait arriver : un service qui, selon un calendrier, collecte les catégories et les produits d'un catalogue B2B, extrait l'article, la marque, le nom, les prix par entrepôt, les soldes, les délais de livraison, l'applicabilité/les analogues, les liens vers des images, les caractéristiques (valeur-clé) de chaque produit, et marque également les articles discontinués. Les données doivent être stockées dans PostgreSQL dans un schéma normalisé avec un historique des modifications (prix/restes) et la possibilité de les télécharger au format CSV.

    Étapes d'exécution :
    1) Analyse de la source et du protocole : déterminer les points d'entrée, les points de terminaison XHR, les paramètres de filtre/pagination, les limites, les signatures de requêtes, le comportement des antibots, les stratégies de retrait.
    2) Mise en place du login et des sessions : autorisation, traitement 2FA via IMAP, stockage des sessions, renouvellement automatique, stockage sécurisé des secrets via env.
    3) Collecte de données : exploration des catégories, pagination, collecte des cartes, chargement des images uniquement lorsque cela est nécessaire (drapeau), extraction des caractéristiques et des analogues, normalisation des devises/unités de mesure.
    4) Stockage : schéma PostgreSQL (produits minimum, offres/entrepôts, soldes, historique des prix, analogues, caractéristiques, médias), migrations, index, logique d'upsert et mises à jour des différences.
    5) Stabilité : rotation du proxy, limitation de vitesse, interruption, détection de blocage, passage à une route alternative (XHR vs HTML), journaux détaillés et métriques d'exécution.
    6) Exportation et rapports : commandes CLI pour exporter CSV par filtres (marque, catégorie, date), rapport sur les modifications pour la période (combien de produits ont changé par prix/restes).

    Restrictions :
    - CAPTCHA ne peut pas être résolu via des services externes payants. Si un CAPTCHA apparaît, le travail de l'analyseur consiste à capturer correctement l'événement, à changer de proxy/pause et à continuer autant que possible sans saisie manuelle.
    - Charge du site : pas plus de 1 requête par seconde par proxy, maximum 3 Workers parallèles.
    - Code sans connexion à l'interface graphique, contrôle via CLI et config.

    Critères d'acceptation mesurables :
    - Une exécution répétée sur un ensemble de tests de 5 catégories devrait collecter au moins 95 % des produits trouvés grâce à la recherche intégrée sur le site (les erreurs sont autorisées en raison d'un blocage temporaire, mais doivent être incluses dans le rapport).
    - Pour 100 produits sélectionnés au hasard, les données de la base de données correspondent au site Internet par article, marque, prix et solde (nous le vérifierons manuellement à l'aide de la liste).
    - Lors du deuxième passage sans modifications, aucun doublon inutile n'est créé dans la source et l'historique des prix/restes n'est pas reconstitué.
    - Les logs contiennent : le nombre de pages traitées, les produits, les erreurs par type, le temps de réponse moyen, le nombre de blocages/retrays.
    - Docker Compose soulève tout avec une seule commande, il existe un README avec des instructions de lancement, des variables d'environnement et des exemples CLI.

    Outils préférés : Playwright (Python) pour JS/anti-bot crawling + requêtes/httpx si possible ; Alambic pour les migrations ; journaux structurés (json).
Votre offre

Vous n’avez pas encore envoyé d’offre pour cette commande.
Cliquez sur « Envoyer une offre » pour soumettre votre proposition.

Besoin d'une tâche similaire ?

Si ce projet est proche de vos besoins, vous pouvez consulter les services prêts dans la catégorie ou publier votre propre tâche avec le budget, le délai et les exigences requis.

The project «Analyseur de catalogue de pièces détachées avec protection anti-bot et normalisation des données dans PostgreSQL + mises à jour diff» can be used as a reference for your own brief: what should be done, what result is needed and what budget to set.