Migton Posté(e) 3 novembre 2009 Share Posté(e) 3 novembre 2009 Bonjour, J'aimerais pouvoir parser une page HTML et ainsi la parcourir sous la forme d'une Map(key/value). Est ce possible ? M. Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Androc Posté(e) 3 novembre 2009 Share Posté(e) 3 novembre 2009 Est ce possible ? Bien sur. Je suppose que la vraie question est "Existe-t-il un parser HTML dans le SDK ou une lib tiers qui fasse ça ?". Ca, je n'en sais rien je ne suis pas (encore) développeur Android. Mais si tu ne trouves pas, rien ne t'empêche de te faire ta petite lib à toi à base d'expressions régulières. En fait je mens un peu car je crois qu'il existe des choses (cf le topic sur BBFoc) mais qui ne sont pas forcément hyper rapide. Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Migton Posté(e) 3 novembre 2009 Auteur Share Posté(e) 3 novembre 2009 Merci pour ce retour. J'ai déjà implémenté la lib html-parser (j'ai importé le code source). Cela permet de filtrer par chaines de caractères mais on perd automatiquement les tags. Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
popolbx Posté(e) 3 novembre 2009 Share Posté(e) 3 novembre 2009 t as un super parser java qui fonctionne avec android. Il faut juste importer le jar dans ton projet. son nom est jericho. (jericho html parser sur google...) Par contre doc très réduite....et rame beaucoup. Tout dépend de ce que tu veux faire : moi j'en ai recodé un à la main mais il fait juste ce que je veux qu'il fasse... Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
TecKnologikS Posté(e) 27 août 2010 Share Posté(e) 27 août 2010 bonjour, je vois que vous vous y connaisser donc j'aurai besoin aussi de savoir comment parser un html .. merci Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
eephyne Posté(e) 28 août 2010 Share Posté(e) 28 août 2010 Je suis en ce moment même dans la problématique de parser du code html sale (je dirais même pourri de chez pourri) , après quelque recherche , vu que le code fait plus de 3500 lignes , il était hors de question d'utiliser DOM , j'utilise donc tagsoup pour "corriger" les erreurs de code , vu que tagsoup utilise SAX , j'ai fait un ContentHandler qui récupère ce que j'ai besoin dans le code . Pour le stocker j'ai fait une class sur mesure. Ce n'est pas forcement la meilleure solution pour vous , mais elle est rapide et vu que le reste du document (c'est à dire 80%) je m'en contrefou , c'est la meilleur solution (pour l'instant) pour moi Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
TecKnologikS Posté(e) 29 août 2010 Share Posté(e) 29 août 2010 euh je suis pas super fort en programmation ... j'ai du mal a comprendre le sens du java ... alors que le "c" ca va legerement mieu... (suis bon par contre en basic :p) un bout de code pour l'exemple serait bien s'il te plait Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
akex Posté(e) 29 août 2010 Share Posté(e) 29 août 2010 Sinon, tu as yahoo pipes qui peux parser pour toi une page HTML (via expressions rationnelles) et te renvoyer les infos que tu souhaites sous forme de JSON ou XML au choix. Si xml, évite le parser SAX (il a des petits soucis avec les caractères spéciaux comme l'apostrophe). En tout cas, on ne pourra clairement pas te donner un code complet qui te permettra de parser ta page HTML, c'est propre à ce que tu souhaites décoder. Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
eephyne Posté(e) 30 août 2010 Share Posté(e) 30 août 2010 Si xml, évite le parser SAX (il a des petits soucis avec les caractères spéciaux comme l'apostrophe). ah bon ? J'en ai plein sur la page que je parse et j'ai aucun souci (en plus la page est en iso-8859-15....) Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
akex Posté(e) 30 août 2010 Share Posté(e) 30 août 2010 J'ai eu des soucis pour ma part lors des tests. En fait, le parser déraille quand l'apostrophe est encodée en UTF-8 dans le source. Il a des soucis avec " etc. Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
TecKnologikS Posté(e) 30 août 2010 Share Posté(e) 30 août 2010 je suis aller voir pour yahoo pipes mais je remarque que ( a par si je ne l'ai pas vu) on ne peut pas l'integrer a une application mobile ... voila .. Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
eephyne Posté(e) 30 août 2010 Share Posté(e) 30 août 2010 TecknologikS , pour parse du html : -le code est très propre et ne posera pas de souci > librairie DOM pour avoir une arborescence , SAX pour lire le code plus rapidement -le code est sale > il faut d'abord le netoyer , personnellement je trouve tagsoup très rapide , je sais qu'il en existe d'autre notamment html-tiny (je crois) DOM et SAX sont compris dans les librairies de base de android après si tu débute sur android et plus particulièrement sur java , le parsing html est peut-être pas la base la plus facile pour s'y accoutumer Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
TecKnologikS Posté(e) 30 août 2010 Share Posté(e) 30 août 2010 je crois aussi... mais j'ai les tuto video a 40 euro environ, des tuto web mais .... je n'arrive pas a mettre la logique java dans ma tete... je comprend a peu pres le comment du pourquoi ca marche sur un code deja ecrit mais quand c'est moi qui doit le faire je bloque... c'est pour ca que j'aime voir des bouts de code car j'arrive a le tourner vers mon projet et non a le creer directement ... une solution ? (hs desoler) Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
eephyne Posté(e) 31 août 2010 Share Posté(e) 31 août 2010 j'ai commencé java avec android aussi , j'ai pas eu particulièrement de mal , mais si tu viens de C et basic , la POO doit te changer un peu. Mais c'est normal de galérer au début vu qu'on connait pas encore les keyword, librairies de base , etc etc. pour dom et sax : http://www.java-samples.com/showtutorial.php?tutorialid=152 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
TecKnologikS Posté(e) 31 août 2010 Share Posté(e) 31 août 2010 et tu t'en ai sortit comment ? livre tuto web ? sinon merci le tuto que t'a poster est super =) Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
eephyne Posté(e) 31 août 2010 Share Posté(e) 31 août 2010 je m'en suis pas sorti , je suis en train de m'en sortir lol. principalement le site d'android devel :http://developer.android.com Stack overflow aide beaucoup aussi : http://stackoverflow.com/ je l'ai pas eu au début mais cet ebook est très bien aussi : http://andbook.anddev.org/ Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
akex Posté(e) 31 août 2010 Share Posté(e) 31 août 2010 Stackoverflow est une vraie mine d'or. Le hic, tu trouves tout comme n'importe quoi. Ca va des questions de débutant aux questions plus poussées. Si la question est intéressante elle est bien notée, si la réponse l'est, elle l'est aussi. Donc privilégier les questions à note élevée, ça permet de faire le tri. Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
TecKnologikS Posté(e) 31 août 2010 Share Posté(e) 31 août 2010 ok il a l'air bien le pdf du site anddev... merci je pense le lire en entier avant de recoder a nouveau... merci .... je te tiendrai au courant si j'arrive a sortir une bonne application ...; Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
TecKnologikS Posté(e) 1 septembre 2010 Share Posté(e) 1 septembre 2010 salut, j'ai tester le tuto... mais j'ai un probleme ca m'affiche rien.. j'ai mi le xml dans res/xml et pour l'appeller la ou c'est employee.xml j'ai mi .res/xml/employee.xml ... une solution ? Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
azalsup Posté(e) 13 septembre 2010 Share Posté(e) 13 septembre 2010 Parser du html avec du java sur un phone android ce n'est pas tres facile à réaliser, risques d'exceptions non gégrées. Il existe toutefois des lagages adaptés à ce genre de taches comme le python. En python c'est assez simple à faire, il existe des exemple de parsers de pagesjaunes sur le web par exemple (extraire les adresses des entreprises et numéro de telephone en python via pagesjaunes.fr). Si tu prend ce choix il faut donc monter un serveur qui servira d'intermediaire entre ton appli android et la page html. [android]--- requete--->[ton-serveur]---requete-->[site] [android]<--- json|xml----[ton-serveur]<--html---[site] Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
TecKnologikS Posté(e) 13 septembre 2010 Share Posté(e) 13 septembre 2010 donc je me fait un site web avec un base de donnée (yen a des gratuit pas mal niveau data) et la je pourrai me faire un serveur intermédiaire ? euh par contre si tu connais un exemple de recherche page jaune ca serai bien (que je demarre sur de bonne base pour python que je ne connais pas ) =) Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
azalsup Posté(e) 14 septembre 2010 Share Posté(e) 14 septembre 2010 Tu peut faire une base de donné dans ton serveur ou juste faire une page en python ou en php qui traite les pages web en temps réel. ce que je connais ce sont des scripts qui cherche par exemple la liste des garages dans une villes et retourne un csv http://www.developpez.net/forums/d713371/autres-langages/python-zope/reseau-web/envoie-requete-pages-jaunes/ Je vais te renvoyer un meilleur exemple pour un autre site que j'avait écrit en python. Ce que je pense donc faisable c'est genre une page Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
TecKnologikS Posté(e) 14 septembre 2010 Share Posté(e) 14 septembre 2010 Ah quand tu parle de php c est déjà plus rassurant... je connais les bases... et puis ... faire sur un serveur/page web ok... mais j ai vu je crois phonegap exécuté du php... pratique donc... Et merci... Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Invité Posté(e) 25 janvier 2011 Share Posté(e) 25 janvier 2011 (modifié) Sinon, tu as yahoo pipes qui peux parser pour toi une page HTML (via expressions rationnelles) et te renvoyer les infos que tu souhaites sous forme de JSON ou XML au choix. Si xml, évite le parser SAX (il a des petits soucis avec les caractères spéciaux comme l'apostrophe). (désolé pour le déterrage) J'ai exactement ce problème, avec les apostrophes ' et " ... Pouvez vous m'expliquer comment procéder pour parser un XML (ou autre) qui possède ces caractères spéciaux ? :| merci beaucoup ! :) EDIT : j'ai utilisé le parser DOM (DocumentBuilder) et c'est bon apparement :D Modifié 25 janvier 2011 par Goten44 Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Invité Posté(e) 5 mars 2011 Share Posté(e) 5 mars 2011 Me revoila, Mon programme de parsing fonctionne bien. Est ce que quelqu'un peut me donner des pistes pour executer mes fonctions de parsing de façon asynchrone ? J'ai cherché mais sons trouvé d'infos claires ... Je cherche a lancer mon ACTIVITY et : - afficher un message "chargement en cours" - lancer le parser pour récupérer des données (avec le message "chargement" toujours affiché) - quand le parsing est fini, afficher les résultats merci d'avance ;) Goten Citer Lien vers le commentaire Partager sur d’autres sites More sharing options...
Recommended Posts
Rejoignez la conversation
Vous pouvez poster maintenant et vous enregistrez plus tard. Si vous avez un compte, connectez-vous maintenant pour poster.