récupérer les données de divers sites ?

hello les geeks !
je fais rarement irruption en ces murs et à chaque fois c’est juste pour m’endormir moins con le soir…
mais cette fois-ci j’ai un vrai problème concret à vous soumettre ! (en espérant que ce soitr le bon, forum… )
j’aimerais me créer un truc perso (site, page excel, n’importe quoi) qui fasse la même chose que le site monsieurprix
j’imagine bien qu’il n’y a pas des esclaves qui rentrent tous les prix dans une base de données à la mimine ! je pense que c’est fait automatiquement mais la question est de savoir comment…
c’est possible à faire pour un particulier ?
difficile ?
quelle est la marche à suivre ?
je suis prêt à apprendre qques bases de je ne sais quel langage pour ça…

merci bien !

C’est “facile” à faire, en fait. Le principe de base, c’est de récupérer la page html, de la confronter à une expression régulière qui “repère” où sont les valeurs et que les stockent dans une base de donnée. C’est relativement facile à faire dans l’ensemble, mais après ca dépends des sites. Sur http://www.codeproject.com il doit y avoir un exemple (au pire, y a un exemple sur le tuto “WebService Dilbert”).

merci, ça a l’air d’être ce que je cherche mais je t’avouearis que je susi pas mal refroidi… j’ai comme qui dirait de grosses lacunes en programmations (genre j’y pipe que dalle) et je vais devoir m’y mettre sérieusement !
moi qui pensait torcher ça en une petite semaine

en gros, vous me conseillez d’apprendre quoi comme langage de prog ?

[quote]en gros, vous me conseillez d’apprendre quoi comme langage de prog ?[/quote]C# ?
(ha ouais mais y a plus de challenge là sur ces questions…)

vb.net si c’est juste pour réaliser ton idée et c# si tu veux en faire plus.

le truc que j’ai omis de préciser, c’est que les références des machins changent tous les jours sur tous les sites… et j’aimerais bien ne pas avoir le nez collé à tous ces sites pendant des heures pour chercher et comparer…

vb.net sera t’il suffisant ?
désolé de joeur les lourds mais vb.net et c# ce’st difficult à intégrer pour un tout nouveau , ce sont des langages basiques ou ça s’adresse plutôt à des initiés ?

merci bien !

Enfin en general les sites genre monsieur prix et tout ce sont les magasins qui envoient dans un format prevu d’avance leur liste de prix a la base de donnee Eux ils y gagnent a mort: ils sont references dans un truc qui liste les meilleurs prix, et monsieur prix y gagne, ils ont une super DB. Maintenant les regex poure extraire des infos des pages, ca marche, mais compte pas sur un truc solide dans la duree, va te faloir etre constament derriere, parcequ’au moindre changement de la page, ton machin a une grosse chance de plus marcher…

j’allais justement préciser ce que viens de dire Glop.
Nous dans ma boite on envoi toutes les nuits des fichiers (csv, xml) a une centaine de comparateurs de prix.
Et nous de notre côté on a développé un interne un sniffer qui va chez eux voir les prix des concurrents pour s’adapter en direct live.
Le sniffer en question a été developpé en PHP.

allez j’avoues tout !
je voudrais me créer un truc dans ce genre en fait…
oui, ça parle paris (et ce’st pour ça que j’étais évasif, pour pas me faire vider de la zone comme un malpropre).
j’aimerais, au lieu de regarder 15 sites voir quels sont les paris les plus interessants sur tel match, un truc (programme / site ou je ne sais quoi) qui me prends tous les intitulés (marseille / PSG, guimgan / st etienne, etc… ), qui me trouve toutes les côtes pour tous les matchs, qu’il me mettes les côtes maximales qu’il trouve pour chaque match et qu’il me dise où il a trouvé ces côtes…

en gros pour marseille/PSG qu’il me dise:
marseille gagnant: site 1 côte 1.01
match nul:   site 2 côte 6.72
paris gagnant:   site 3 côte 6512

là il le fait pour un match ! mais il faudrait qu’il le fasse pour qques centaines…
des sites y arrivent, c’est bien que c’est possible ! mais comment qu’ils font ces empafés ??

ps: j’espère ne pas avoir heurté la sensibilités des plus jeunes…
ps2: c’est nouveau ça ?
Powered by Microsoft .Net Framework and Gloppy hosting

EDIT
bizarre… g;lopnuke veut pas intégrer mon lien directement…
à titre d’exemple: linkage

Ce message a été édité par titibgosse le 04/10/2004
Ce message a été édité par GloP le 04/10/2004

[quote]Enfin en general les sites genre monsieur prix et tout ce sont les magasins qui envoient dans un format prevu d’avance leur liste de prix a la base de donnee[/quote]Tu rêves. Quand j’ai développé le comparateur de prix de feu test&co/dvdtest, on demandait aux sites de nous fournir une interface xml pour récupérer les prix, et les réponses variaient de “c’est quoi XML” à “euh, on sait pas faire”. Ceux qui acceptaient de se bouger le cul ou avaient déjà un truc prévu étaient l’exception (et je parle de GROS site d’e-commerce). Ça a peut-être changé depuis, mais à l’époque on s’est dit, basta, on va se passer de ces gens-là, sinon on y sera encore dans trois ans (et comme trois ans après, notre site a fait faillite, il fallait agir vite).
Donc j’ai fait un truc en C# qui tous les jours allait appliquer des expressions régulières sur les sites de ces braves gens.
Ça marchait pas trop mal, sauf que toutes les deux ou trois semaines, l’un d’eux changeait le look de son site, et il fallait changer l’expression régulière.

Non j’ai des experiences tout a fait similaire, aucun marchand ne sait ce qu’est XML et c’est exactement le probleme: c’est que le niveau technique demande etait beaucoup trop haut.

C’est pourtant sur un principe de “PUSH” (upload de data) que fonctionnent tous les portails de comparaison de prix qui marchent aujourd’hui De MSN shopping, a kelkoo, monsieur prix et tous les autres. Ceux qui ont reussit sont ceux qui ont sur proposer un avantage financier assez eleve (bon deal de referal ou milieu a forte marge ajoutee), un traffic consequent tres rapidement (plusieurs milliers de transactions par jour), et surtout un solution au niveau technique TRES bas. La valeur ajoutee “Agregation de prix” pour le client, “review”, “comparaison de produit”, etc, n’est qu’un des avantages a considerer. Ceux qui ont echoue (nous y compris dans une certaines mesure) sont tous ceux qui se sont dit que les sites d’ecommerce etait au meme niveau technique qu’eux, c’est a dire que leur metier c’etait de faire de l’informatique et pas d’etre un “vendeur de trucs” ce qui est la plus grosse connerie qu’on puisse faire. Les sites d’ecommerce qui ont reussit sont ceux qui etaient avant tous des bons vendeurs de ce qu’ils avaient decides de vendre, au sens traditionel, pas des informaticien. C’est a dire qu’ils savaient pas ce que voulait dire XML et ce qu’etait du multi tier… mais vendre du livre ou du xxx et gerer des flux de marchandises, des stocks, des marges, anticiper la demande et positioner ses offres, ca oui  

C’etait strictement pareil tout les agregateurs/portails. La simple mention de XML suffisait (et malheureusement suffit encore, meme si ca baisse) a faire fuir l’ecrasante majorite des sites d’ecommerce. En gros si ils avaient une ligne de prog a faire pour etre dans ton truc ils sont contre, c’est pas du tout rentable pour eux, et de toute facon il ont la prochaine version de leur site a faire, pas le temps, “on a pas de ressources a gaspiller”, etc. Par contre un truc qu’ils peuvent filer a leur admin faisable en une requete SQL et un script, la c’est bon. Tu leur disait “dump de base de donnee en CSV ou en XLS uploadee par ftp dans tel rep tous les trois jours” et de suite t’avait tout le monde qui etait ok La solution a ete consideree comme “pas digne d’interet a notre epoque de communication temps reel B2B rentabilite” par la plupart des CTO de la vallee (on parlait pas de webservice a l’epoque) et ce sont pourtant les seules boites qui ont survecu et qui aujourd’hui se vendent pour des millions (voir kelkoo). Les boites a haute niveau de cooperation technique qui ont pseudo reussit sont celles qui avaient des marches verticaux tres cibles (genre les bids industrielles de pieces de fabrications pour un type d’usine donnees) parceque: 1) les enjeux sont tres concentres 2) les sommes mises en jeu par transaction ont rien a voir 3) le client est un profesionnel qui est pousse a faire un effort consequent pour ameliore sa rentabilite.

Apres plusieurs annees d’agregateur de transaction (redcart) plusieurs annees d’agregateur de donnees (MSN shopping) et les galleres sur la mise en place du moteur de promo de MSN et tout c’est clairement l’experience que j’en retire toujours

Le boulot entier de Redcart (la startup ou j’ai taffe que MS voulait racheter) etait base sur l’ecriture d’un moteur d’extraction/robot de publication a base de regex, avec plus de 120 marchands aux prix/transactions automatisees dans le robot. Le concept meme venait du fait qu’il etait hors de question d’installer quoi que ce soit chez le marchand ou de leur faire developper une quelconque interface… Toujours est il que a une echelle rentable un sniffer de sites est pas viable du tout, sachant qu’a un moment donne t’en a toujours a peu pres 10 a 15% de casses et que l’ecriture de regex solide est un travail trop complique pour etre confie a des singes sous payes (sans compter que c’est chiant comme la mort de faire un wrapper pour www.jevendsdesbaskets.com). L’ecriture d’outil generant des regex automatiquement est envisageable mais fait monter les taux d’echec de facon plus que significative, le temps de reactivite accrue peut rendre l’operation valable cela dit…

L’echec vient trop souvent du fait qu’on veut trop en faire (et a MS on est pas a l’abri…) et qu’on a des ambitions irrealistes sur les capacites des partenaires. L’informatique a de rare exception pres est un outil pour mieux gagner de l’argent avec son vrai metier et pas une fin en soi, les sous ils viennent d’ailleurs, et les gens duquel ils viennent sont pas informaticiens. La lecon que moi j’en retire c’est que niveau technique sur le web comme ailleurs, vaut mieux faire debile et tres large, que ce qui peut paraitre etre l’ideal, le state of the art, mais qui inaccessible a mort. Et que on a toujours tendance a surestimmer ce qui va “passer”, moi le premier. XML, qui est un con format de fichier texte, est a peine sortie de la categorie inaccessible pour le plus grand nombre… d’ailleurs ASP.Net comme les autre font tout pour que personne n’ait a y mettre les doigts et qu’on puisse communiquer en deux lignes de code. C’est meme pas un question de rendre les choses plus facile et moins contraignantes a faire, c’est une question de permettre les choses… c’est dire le niveau…

Ce message a été édité par GloP le 06/10/2004

Comment vous voulez que je sois crédible moi après des posts pareil.

http://zecaf.free.fr/dotclear/?2004/10/06/52-oui-encore  :stuck_out_tongue:

désolé je vais jouer mon lourd, ayez un peu d’indulgence pour un profane qui va peut-être se lancer dans la programmation et qui aimerait partir sur des bases saines !

résumé de la situation: j’aimerais me créer un truc à moi que ce sera personnel qui sniffera différents sites de paris pour me sortir:
[ul]
[li]tous les matchs qu’il trouve sur les différents sites [/li][li]qu’il se démerde pour trouver quel match du site A correspond à quel match du site B (C et D par la suite quand je serais un kaiser en prog ) [/li][li]qu’il me dise qui a les côtes les plus interessantes pour moi[/li][/ul] je rappelle que les matchs changent tout le temps ! donc il faut vraimetn qu’il se dépatouille pour qu’il devine que tel match du site A correspond à celui-ci du site B.

vous m’avez donc conseillé d’apprendre VB.net et/ou C#:
[ul]
[li]ces langages sont ils complémentaires ou C# est simplement une évolution de VB.net ? [/li][li]ces langages se ressemblent ils ou c’est vraiment différent ? [/li][li]ces langages nécessitent ils d’acheter des programmes qui seront bien chers ? [/li][li]vous qui êtes des kaisers, faire mon machin vous prendrait combien de temps environ ? (histoire que je saches si j’abandonne de suite ou pas ) [/li][li]vraiment pour de vrai, lequel des 2 langages dois je préférer (déjà qu’en maitriser doit pas être super facile, alors 2 … ) [/li][li]j’aimerais pouvoir mettre à jour mon tableau tous les x temps ou lorsque je le souhaites (genre je clique sur un bouton quoi !) c’est possible avec les 2 langages ? [/li][li]j’en ai entendu un parler de PHP là-bas, au fond… pour ce que je veut faire c’est tout naze ? moins indiqué ? trop difficile à matriser ? pourquoi personne d’autre n’en a parler ?[/li][/ul] merci bien pour toutes vos réponses.

EDIT
je présume qu’apprendre le HTML (oui j’y connait rien non plus) est indispensable ???

Ce message a été édité par titibgosse le 10/10/2004

[quote]j’en ai entendu un parler de PHP là-bas, au fond… pour ce que je veut faire c’est tout naze ? moins indiqué ? trop difficile à matriser ? pourquoi personne d’autre n’en a parler ?[/quote]Oui, ca se fait bien en PHP. En fait en n’importe quel langage ou il est possible d’utiliser simplement des regexp. Ca se fait bien aussi en Perl ou python.

[quote]je présume qu’apprendre le HTML (oui j’y connait rien non plus) est indispensable ???[/quote]C’est surtout les regexp (expressions regulieres) qu’il faudrat apprendre a utiliser. Apres le HTML c’est pas indispensable, tant que t’arrives a trouver les valeurs qui t’interessent dans le source.

[quote]résumé de la situation: j’aimerais me créer un truc à moi que ce sera personnel qui sniffera différents sites de paris pour me sortir:
[ul]
[li]tous les matchs qu’il trouve sur les différents sites [/li][li]qu’il se démerde pour trouver quel match du site A correspond à quel match du site B (C et D par la suite quand je serais un kaiser en prog ) [/li][li]qu’il me dise qui a les côtes les plus interessantes pour moi[/li][/ul]je rappelle que les matchs changent tout le temps ! donc il faut vraimetn qu’il se dépatouille pour qu’il devine que tel match du site A correspond à celui-ci du site B.[/quote]Dans l’absolu, il va falloir que TU lui apprenne à se démmerder à faire tout ca. Donc il va falloir que tu trouve un processus logique (un algo) qui, prenant les élements du site, va les confronter à ce qu’il connait déjà pour tenter de faire un mélange.

[quote]vous m’avez donc conseillé d’apprendre VB.net et/ou C#:
[ul]
[li]ces langages sont ils complémentaires ou C# est simplement une évolution de VB.net ? => VB.net est l’évlution de VB, C# un nouveau language proche du C++ ou de Java. [/li][li]ces langages se ressemblent ils ou c’est vraiment différent ? => Les deux se ressemblent. Cependant, il est plus facile de comprendre un programme en VB quand tu fait du c#que l’inverse.  [/li][li]ces langages nécessitent ils d’acheter des programmes qui seront bien chers ? => Non, par forcément [/li][li]vous qui êtes des kaisers, faire mon machin vous prendrait combien de temps environ ? (histoire que je saches si j’abandonne de suite ou pas ) => Pour un débutant ? En admettant que tu passe quelques heures dessus par jour, entre 2 et 6 mois selon ton talent naturel [/li][li]vraiment pour de vrai, lequel des 2 langages dois je préférer (déjà qu’en maitriser doit pas être super facile, alors 2 … ) => C# forever [/li][li]j’aimerais pouvoir mettre à jour mon tableau tous les x temps ou lorsque je le souhaites (genre je clique sur un bouton quoi !) c’est possible avec les 2 langages ? => oui [/li][li]j’en ai entendu un parler de PHP là-bas, au fond… pour ce que je veut faire c’est tout naze ? moins indiqué ? trop difficile à matriser ? pourquoi personne d’autre n’en a parler ? => Php te permettra de le faire, mais il faudra bidouiller dans certains cas (comprendre, c’est plus chiant)[/li][/ul]merci bien pour toutes vos réponses.

EDIT
je présume qu’apprendre le HTML (oui j’y connait rien non plus) est indispensable ???
=> Les bases sont indispensables pour comprendre la structure de la page et comment récupérer les infos.
Ce message a été édité par titibgosse le 10/10/2004[/quote]

merci les gars vous êtes cool…
voici mon plan d’attaque.
tout d’abord faire connaissance avec la programmation puis avec le C#. enfin je jettes un coup d’oeil aux expressions régulières ( ici et ).
uen fois ingurgitée ceci je tentes une première approche de mon problème. si ces bases ne sont pas suffisantes, je vais … euh… va falloir acheter des livres (ou mieux, trouver des trucs gratuits sur le net mais j’ai comme un doute).
dans ce cas, je ferais surement appel à la zone pour savoir quoi acheter /vers quel site m’orienter.

mon approche est bonne ou je pars déjà en sucette d’après vous ?

ps: les expressions régulières s’utilisent sur la source de la page ou la page en html ?

Si tu le fais en Perl ou Python, tu as en francais ca, ca, ou tout ca.

[quote]merci les gars vous êtes cool…
voici mon plan d’attaque.
tout d’abord faire connaissance avec la programmation puis avec le C#. enfin je jettes un coup d’oeil aux expressions régulières ( ici et ).
uen fois ingurgitée ceci je tentes une première approche de mon problème. si ces bases ne sont pas suffisantes, je vais … euh… va falloir acheter des livres (ou mieux, trouver des trucs gratuits sur le net mais j’ai comme un doute).
dans ce cas, je ferais surement appel à la zone pour savoir quoi acheter /vers quel site m’orienter.

mon approche est bonne ou je pars déjà en sucette d’après vous ?

ps: les expressions régulières s’utilisent sur la source de la page ou la page en html ?[/quote]Euh là, ca dépends de toi. Moi par exemple, j’apprends énormément en me confrontant à des cas pratiques. Mais je connais des gens qui ont besoin de passer par des étapes didactiques. Pour le C#, la msdn est très complete, tout comme codeproject et la winfaq.

Pour les expressions régulières, tu le fera forcément sur le source, vu que tu ne peut pas le faire sur la page (ca te semblera évident quand t’essayera)

putai* censured  *undefine censured erde !! (marche pas très bien la censure ici)
si on m’avais dit que j’y aurait un jour droit…

bon, je recommence (en version courte toutefois)
tout d’abord, merci pour votre aide, c’est bien sympa d’aider un pauvre hère en galère (rime).
j’avais juste une chtite interrogation, en fait le dernier truc qui pourrait poser problème: imaginons que j’aille sur ce site avec ma … mhhh non on va arrêter les rimes en définitive. quand on regarde directement les sources, rien n’est exploitable ou alors je suis vraiment un branquignolle.
certains sites ont trouvé le moyen, donc c’est possible de trouver les sources… facilement ?

bon… je vous remercie encore, c’est cool de votre part

edit
vraiment désolé mais j’arrive pas à lui faire comprendre le lien court: glopnuke doir pas aimer les https
https://www.betandwin.com/betsnew.aspx?SportID=4

Ce message a été édité par titibgosse le 11/10/2004