Aller au contenu

Parsing HTML


Recommended Posts

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.

Lien vers le commentaire
Partager sur d’autres sites

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.

Lien vers le commentaire
Partager sur d’autres sites

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...

Lien vers le commentaire
Partager sur d’autres sites

  • 9 months later...

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

Lien vers le commentaire
Partager sur d’autres sites

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.

Lien vers le commentaire
Partager sur d’autres sites

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

Lien vers le commentaire
Partager sur d’autres sites

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)

Lien vers le commentaire
Partager sur d’autres sites

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.

Lien vers le commentaire
Partager sur d’autres sites

  • 2 weeks later...

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]

Lien vers le commentaire
Partager sur d’autres sites

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

Lien vers le commentaire
Partager sur d’autres sites

  • 4 months later...

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é par Goten44
Lien vers le commentaire
Partager sur d’autres sites

  • 1 month later...

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

Lien vers le commentaire
Partager sur d’autres sites

Rejoignez la conversation

Vous pouvez poster maintenant et vous enregistrez plus tard. Si vous avez un compte, connectez-vous maintenant pour poster.

Invité
Unfortunately, your content contains terms that we do not allow. Please edit your content to remove the highlighted words below.
Répondre à ce sujet…

×   Collé en tant que texte enrichi.   Coller en tant que texte brut à la place

  Seulement 75 émoticônes maximum sont autorisées.

×   Votre lien a été automatiquement intégré.   Afficher plutôt comme un lien

×   Votre contenu précédent a été rétabli.   Vider l’éditeur

×   Vous ne pouvez pas directement coller des images. Envoyez-les depuis votre ordinateur ou insérez-les depuis une URL.

×
×
  • Créer...