zyb.san Posté(e) le 11 juin 2007 Posté(e) le 11 juin 2007 Bonjour, Dans le cadre d'un stage je m'intéresse à la fouille de textes. En fait, l'entreprise dans laquelle je travaille recense tous les appels d'offres du Web, puis les centralise et en extrait les informations pertinentes. Actuellement, une fonction est codée pour chaque site (il y en a environ 4000 dans leur BDD), ce qui est super lourd à écrire, et très peu flexible! (et je vous parle pas de la taille du switch...case mis en place). Mon sujet est de mettre en place une fonction de parsing générique pour l'ensemble des sites (plus ou moins). C'est pourquoi je poste dans l'espoir que quelqu'un s'y connaisse un peu dans le domaine, et puisse m'indiquer des pistes pour commencer. Ce qui serait bien, ce serait des Apis Java (JDM?) exploitables, mais toute solution est la bienvenue vu que je patauge un peu :) Merci d'avance
Soulfly_tribe90 Posté(e) le 11 juin 2007 Posté(e) le 11 juin 2007 On se connait non ? Ben dis donc ton sujet de stage est assez marrant Sinon pour revenir a ton sujet => le but c'est de parser le contenu d'un site qui propose des offres et d'en ressortir les informations intéressantes des offres c'est ca ? Tu pourrais donner un exemple concret histoire de voir comment ca se goupille...
zyb.san Posté(e) le 11 juin 2007 Auteur Posté(e) le 11 juin 2007 Salut poulette Oui, c'est tout à fait ça. Pour des cas concrets, tu peux regarder sur les appels d'offres de l'ULP (http://siig2.u-strasbg.fr/cgi-bin/WebObjec...ncesFournitures) et ceux du conseil général d'indre et loire (http://www.cg37.fr/index.php?media=25&...blic_rubrique=1) par exemple. On veut surtout récupérer l'objet, la date limite et l'émetteur, mais les syntaxes sont complètement différentes sur chaque site, ainsi que les termes utilisés pour designer les mêmes champs (date limite, date de dépot de dossier, échéance, ...) Voilà!
Soulfly_tribe90 Posté(e) le 11 juin 2007 Posté(e) le 11 juin 2007 C'est vrai que c'est un peu la m****, je pensais classiquement faire des regex mais je sais même pas si ca serait possible vu que chaque site fait comme il veut pour sa présentation. En espèrant que quelqu'un est une idée... de mon coté je vais réfléchir au problème aussi, je verrais bien
Sentinel Posté(e) le 11 juin 2007 Posté(e) le 11 juin 2007 C'est le cas d'application typique du design pattern Factory... Plutôt que de tout coder dans une seule classe, tu as : - une interface (ou classe abstraite, selon ton langage) - dont héritent X classes spécialisées (une par site), - et une classe dite Factory qui, elle, sait sélectionner la classe spécialisée en fonction d'un critère particulier (le nom du site, dans ton cas). Comme ça, tu as une architecture robuste et modulaire. Par contre, pour parser les pages elles-mêmes, je pense qu'il vaut mieux se tourner vers des librairies de parseurs qui te décomposeront proprement les pages, et qui te permettront de les parcourir facilement pour en extraire les infos intéressantes.
zyb.san Posté(e) le 12 juin 2007 Auteur Posté(e) le 12 juin 2007 Salut, C'est le cas d'application typique du design pattern Factory...Plutôt que de tout coder dans une seule classe, tu as : - une interface (ou classe abstraite, selon ton langage) - dont héritent X classes spécialisées (une par site), - et une classe dite Factory qui, elle, sait sélectionner la classe spécialisée en fonction d'un critère particulier (le nom du site, dans ton cas). Comme ça, tu as une architecture robuste et modulaire. Le code est déja mis en place en Windev et ce n'est pas de notre ressort de le refaire. Bien que ce serait indispensable à terme de reprendre une architecture comme celle-ci. Par contre, pour parser les pages elles-mêmes, je pense qu'il vaut mieux se tourner vers des librairies de parseurs qui te décomposeront proprement les pages, et qui te permettront de les parcourir facilement pour en extraire les infos intéressantes. Justement c'est ce qui m'intéresse, tu as des noms ?
Sentinel Posté(e) le 12 juin 2007 Posté(e) le 12 juin 2007 Plein : http://java-source.net/open-source/html-parsers
Messages recommandés
Archivé
Ce sujet est désormais archivé et ne peut plus recevoir de nouvelles réponses.