IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

C# Discussion :

Analyseur de prix en c#


Sujet :

C#

  1. #1
    Candidat au Club
    Inscrit en
    Février 2014
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Février 2014
    Messages : 2
    Points : 2
    Points
    2
    Par défaut Analyseur de prix en c#
    Salut à tous,

    J'ai pour projet de concevoir un analyseur de prix en C#.
    Donc si j'ai bien compris, la seule façon d'analyser des prix est soit de demander l'API des sites vendant les produits, permettant de se procurer les prix, ou alors d'analyser le contenu des pages html avec un httpget, effectué au préalable ?

    Y a t'il une autre façon ? Par exemple un aspirateur de site qui effectuerait toutes les requettes possibles et permettrait d'avoir tout les prix disponibles ?
    Car en général pour obtenir un prix il faut entrer moule données par exemple : marques, tailles, couleur....


    Si vous avez des suggestions, ou meme un début de code (j'en ai pas trouvé ici), je suis preneur, tout élément pouvant augmenter mon savoir est le bienvenue !

    Et je suis sur que ça aidera pas mal d'entre nous, tot ou tard :p


    Voilà, à vos claviers

  2. #2
    Modérateur
    Avatar de DotNetMatt
    Homme Profil pro
    CTO
    Inscrit en
    Février 2010
    Messages
    3 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : CTO
    Secteur : Finance

    Informations forums :
    Inscription : Février 2010
    Messages : 3 611
    Points : 9 743
    Points
    9 743
    Billets dans le blog
    3
    Par défaut
    Il y a plusieurs façons de procéder...

    La plus recommandée est effectivement de passer par une API. Mais il n'est pas garanti que tous les sites que tu vas vouloir analyser en proposent une...

    L'autre façon de faire est de s'attaquer au code HTML du site directement, et là il y a deux manières de procéder :
    • Aspirer le site puis l'analyser sur tes serveurs (cette solution est à mon avis à proscrire car il sera plus compliqué voire impossible de gérer les appels AJAX).
    • Créer un automate qui va être en mesure de naviguer en direct sur le site, et de récupérer les information dont tu as besoin.


    Pour l'analyse du HTML et la navigation, tu peux utiliser la très complète librairie Html Agility Pack (NuGet : PM> Install-Package HtmlAgilityPack).

    Ce dont il faut avoir conscience :
    • Certains sites vont faire le maximum pour rendre cette tâche plus compliquée, via des appels AJAX notamment
    • Attention à bien lire les conditions d'utilisation du site, car il est peut-être interdit de naviguer dessus en utilisant ce genre d'automate
    • Attention à ne pas faire blacklister tes adresses IP par le site (ils pourront voir dans leurs logs que tu viens souvent pomper du contenu, et de manière trop rapide pour que ça soit fait par un humain...)
    • Tu vas être sensible au moindre changement de l'API ou de la structure du code HTML de la page donc il faut prévoir d'être très réactif, de pouvoir apporter un correctif très rapidement, et de constamment surveiller que tout marche bien. Il faudra donc apporter une attention particulière à l'architecture de ton code, pour qu'il soit facilement maintenable...
    Less Is More
    Pensez à utiliser les boutons , et les balises code
    Desole pour l'absence d'accents, clavier US oblige
    Celui qui pense qu'un professionnel coute cher n'a aucune idee de ce que peut lui couter un incompetent.

  3. #3
    Candidat au Club
    Inscrit en
    Février 2014
    Messages
    2
    Détails du profil
    Informations forums :
    Inscription : Février 2014
    Messages : 2
    Points : 2
    Points
    2
    Par défaut
    Merci de ta réponse Matt..

    Avant de voir ton message, j'ai essayé de coder en me débrouillant sans la librairie HTML agility, (vu que je la connaissais pas avant et jte remercie), et j'ai réussi à analyser du code et a tirer ce que je voulais.
    1/ Mais maintenant je me demande, est ce que je refais le code avec la librairie que tu m'as conseillé ou pas ?
    Je pense que c'est mieux d'un point de vue "maintenance" comme tu m'en parlais.., non ?

    2/ Concernant l'AJAX, admettons je suis sur un site de tablette, et que je choisi d'afficher que les tablette de 1GO de ram.
    Sur un site sans Ajax, je verrai forcement une variable dans l'URL qui spécifiera (par un POST Ou GET) , que je recherche les tablette de 1GO de ram non?
    Tandis que sur un site utilisant AJAX, je n'aurais que l'URL de la page d'accueil en gros ? (si on admet que les filtres pour sélectionner sont sur la page d'accueil).

    3/ Dans le cas d'ajax, comment pourrai-je procéder ? aurais tu une petite piste ? ça m’ennuie vraiment je pense pas qu'on puisse bypasser l'AJAX..

    (les questions sont à la 2eme personne mais tout le monde peut y répondre bien évidemment ^___^")
    Merci à tous et bonne journée

  4. #4
    Modérateur
    Avatar de DotNetMatt
    Homme Profil pro
    CTO
    Inscrit en
    Février 2010
    Messages
    3 611
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 36
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : CTO
    Secteur : Finance

    Informations forums :
    Inscription : Février 2010
    Messages : 3 611
    Points : 9 743
    Points
    9 743
    Billets dans le blog
    3
    Par défaut
    Citation Envoyé par zenythzenyth Voir le message
    1/ Mais maintenant je me demande, est ce que je refais le code avec la librairie que tu m'as conseillé ou pas ?
    Je pense que c'est mieux d'un point de vue "maintenance" comme tu m'en parlais.., non ?
    A toi de voir... Ca ne va pas changer grand chose pour la maintenance. L'utiliser, c'est surtout éviter de réinventer la roue et de perdre du temps à redévelopper toutes ces fonctionnalités, sachant que cette librairie le fait très bien

    Citation Envoyé par zenythzenyth Voir le message
    2/ Concernant l'AJAX, admettons je suis sur un site de tablette, et que je choisi d'afficher que les tablette de 1GO de ram.
    Sur un site sans Ajax, je verrai forcement une variable dans l'URL qui spécifiera (par un POST Ou GET) , que je recherche les tablette de 1GO de ram non?
    En principe oui, mais tu peux très bien tomber sur un site qui crypte les choses de ce genre...

    Citation Envoyé par zenythzenyth Voir le message
    Tandis que sur un site utilisant AJAX, je n'aurais que l'URL de la page d'accueil en gros ? (si on admet que les filtres pour sélectionner sont sur la page d'accueil).
    Sur un site utilisant AJAX, il faudra que tu simules une action (par exemple un click sur un bouton) pour déclencher la requête AJAX. Ensuite il faut l'intercepter pour l'analyser, puis récupérer le résultat et l'analyser pour récupérer les infos. Mais bon là ça dépend des besoins..

    Citation Envoyé par zenythzenyth Voir le message
    3/ Dans le cas d'ajax, comment pourrai-je procéder ? aurais tu une petite piste ? ça m’ennuie vraiment je pense pas qu'on puisse bypasser l'AJAX..
    Il faut simuler des actions utilisateur afin de pouvoir déclencher les requêtes AJAX directement sur le site cible... Je ne vois pas d'autre façon de faire.
    Less Is More
    Pensez à utiliser les boutons , et les balises code
    Desole pour l'absence d'accents, clavier US oblige
    Celui qui pense qu'un professionnel coute cher n'a aucune idee de ce que peut lui couter un incompetent.

Discussions similaires

  1. [Info] J2EE prix licence?
    Par Piolet dans le forum Java EE
    Réponses: 10
    Dernier message: 21/04/2004, 10h25
  2. Calcul d'un prix
    Par maki dans le forum Flash
    Réponses: 16
    Dernier message: 26/09/2003, 17h24
  3. Analyseur de code (statistique)
    Par Boons dans le forum Choisir un environnement de développement
    Réponses: 9
    Dernier message: 13/08/2003, 12h22
  4. Analyseurs statiques gratuits ?
    Par patapetz dans le forum Choisir un environnement de développement
    Réponses: 3
    Dernier message: 03/08/2003, 17h56

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo