Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

LIRE les BALISES META d un site web ?

7 réponses
Avatar
Frogger
Salut,

je développe un programme java qui a besoin de lire régulièrement les
balises meta d un site web.

Je sais me connecter au site, récupérer la page. Mais dois je me développer
un parser pour récupérer par exemple la balise <META NAME="description"
CONTENT=" ........" > ou existe t il une API qui peut faire ça ?

Merci de votre aide !

Bye

7 réponses

Avatar
DeadCow
"Frogger" a écrit dans le message news:
bj4nqa$tiv$
Salut,

je développe un programme java qui a besoin de lire régulièrement les
balises meta d un site web.

Je sais me connecter au site, récupérer la page. Mais dois je me
développer

un parser pour récupérer par exemple la balise <META NAME="description"
CONTENT=" ........" > ou existe t il une API qui peut faire ça ?

Merci de votre aide !

Bye


Si l'erreur est tolérable, une expression régulière devrait faire l'affaire.

-- Nicolas Repiquet

Avatar
Sébastien X
Salut,


Hello

je développe un programme java qui a besoin de lire régulièrement les
balises meta d un site web.


Moteur de recherche?

Je sais me connecter au site, récupérer la page. Mais dois je me développer
un parser pour récupérer par exemple la balise <META NAME="description"


Il faut utiliser une classe qui étend HTMLDocument et surcharger la méthode
handleSimpleTag.
J'avais fait ca il y a quelque temps, dont voila le code:

public void handleSimpleTag (HTML.Tag tag, MutableAttributeSet att, int
pos){
String attribute;
if (tag.equals(HTML.Tag.META)) // Tags title
{
attribute = (String)att.getAttribute(HTML.Attribute.NAME);
String attributcont (String)att.getAttribute(HTML.Attribute.CONTENT);
if (attribute != null && attributcont!=null){
if(attribute.toLowerCase().equals("description"))
metadescription = attributcont;
if(attribute.toLowerCase().equals("keywords")){
metakeywords = attributcont;
//System.out.println("metaaaaaaa keywords : "+metakeywords);
}
}
}
}

--
Message monitoré par axinews : http://www.axinews.com/

Avatar
jerome moliere
Sébastien X wrote:
Salut,



Hello


je développe un programme java qui a besoin de lire régulièrement les
balises meta d un site web.



Moteur de recherche?


Je sais me connecter au site, récupérer la page. Mais dois je me développer
un parser pour récupérer par exemple la balise <META NAME="description"



Il faut utiliser une classe qui étend HTMLDocument et surcharger la méthode
handleSimpleTag.
J'avais fait ca il y a quelque temps, dont voila le code:

public void handleSimpleTag (HTML.Tag tag, MutableAttributeSet att, int
pos){
String attribute;
if (tag.equals(HTML.Tag.META)) // Tags title
{
attribute = (String)att.getAttribute(HTML.Attribute.NAME);
String attributcont > (String)att.getAttribute(HTML.Attribute.CONTENT);
if (attribute != null && attributcont!=null){
if(attribute.toLowerCase().equals("description"))
metadescription = attributcont;
if(attribute.toLowerCase().equals("keywords")){
metakeywords = attributcont;
//System.out.println("metaaaaaaa keywords : "+metakeywords);
}
}
}
}


surement tres bien mais sous Unix sans serveur X cela pete :)
c'est tirer la pelote SWING pour rien alors que tout generateur de
parsers digne de ce nom (JavaCC,SableCC, ANTLR etc..) fournit un exemple
de grammaire HTML.....

Jerome


Avatar
Seb
surement tres bien mais sous Unix sans serveur X cela pete :)


Ben ... Pourquoi donc?
Il n'y a pas forcément besoin de serveur X pour utiliser les class du
package Swing.
Pourquoi tiens tu à limitter les class du package Swing à simplement des
class liées à la représentation graphique (View) alors que le package Swing
contient également les class Model et controller du modèle MVC qui sont
parfois tres pratiques?


c'est tirer la pelote SWING pour rien alors que tout generateur de
parsers digne de ce nom (JavaCC,SableCC, ANTLR etc..) fournit un exemple
de grammaire HTML.....


Oui, c'est probablement plus efficace en terme de performance mais plus
difficile à mettre en oeuvre (pourquoi réinventer la roue)

Avatar
DeadCow
"Seb" a écrit dans le message news:
3f561ab9$0$16183$
(pourquoi réinventer la roue)


Parceque ça sera TA roue =)

-- Nicolas Repiquet

Avatar
jerome moliere
Seb wrote:
surement tres bien mais sous Unix sans serveur X cela pete :)



Ben ... Pourquoi donc?
Il n'y a pas forcément besoin de serveur X pour utiliser les class du
package Swing.


en es tu sur ? moi je suis que oui...:)
regardes SWINg depend de AWT
AWT depend du systeme (lib native)
donc SWING sous Unix ==> serveur X ....
malheureusement....
Pourquoi tiens tu à limitter les class du package Swing à simplement des
class liées à la représentation graphique (View) alors que le package Swing
contient également les class Model et controller du modèle MVC qui sont
parfois tres pratiques?

humm ce package contient une implementation cote client d'un MVC en effet...

mais tu sais j'ai deja vu du code avec des imports de java.awt.List par
ce qu'ils y avait une methode "pratique" evidemment cette classe etait
serialisée :)


c'est tirer la pelote SWING pour rien alors que tout generateur de
parsers digne de ce nom (JavaCC,SableCC, ANTLR etc..) fournit un exemple
de grammaire HTML.....



Oui, c'est probablement plus efficace en terme de performance mais plus
difficile à mettre en oeuvre (pourquoi réinventer la roue)

pourquoi donc plus difficile ? tu lances la generation d'une compilateur

de ta grammaire une et une seule fois et apres tu te trimballes avec ton
parser tout pre set en plus c'est pas toi qui le maintient :)
contrairement a ce que dit en riant Mr vache Morte :)

jerome





Avatar
Seb
Il n'y a pas forcément besoin de serveur X pour utiliser les class du
package Swing.
en es tu sur ? moi je suis que oui...:)

regardes SWINg depend de AWT
AWT depend du systeme (lib native)
donc SWING sous Unix ==> serveur X ....
malheureusement....


Ben, je suis sous linux sans serveur X installé et utilise la class
DefaultMutableTreeNode du package Swing pour modéliser des données dans un
arbre.
Tu avais fais la meme remarque dans le sujet "utilité du treemap" mais je ne
comprend pas ton affirmation car (en généralisant avec le
DefaultMutableTreeNode) il semble possible d'utiliser les class de
modélisation des données de Swing sans problème. Bon bien sur si tu utilises
les class directement associées à l'affichage graphique comme Jlist Jtable
etc ....

Pourquoi tiens tu à limitter les class du package Swing à simplement
des


class liées à la représentation graphique (View) alors que le package
Swing


contient également les class Model et controller du modèle MVC qui sont
parfois tres pratiques?

humm ce package contient une implementation cote client d'un MVC en

effet...

mais tu sais j'ai deja vu du code avec des imports de java.awt.List par
ce qu'ils y avait une methode "pratique" evidemment cette classe etait
serialisée :)


Oui, mais cette class représente la vue du model mvc (et je suis d'accord la
vue est liés au system dans ce cas).

Oui, c'est probablement plus efficace en terme de performance mais
plus


difficile à mettre en oeuvre (pourquoi réinventer la roue)

pourquoi donc plus difficile ? tu lances la generation d'une compilateur

de ta grammaire une et une seule fois et apres tu te trimballes avec ton
parser tout pre set en plus c'est pas toi qui le maintient :)
contrairement a ce que dit en riant Mr vache Morte :)


Je voulais simplement dire qu'il lui faudrait dans ce cas se familiariser
avec JavaCC alors que HTMLDocument fait ca à lui tout seul.
Ou alors c'etait peut etre juste pour avoir le dernier mot :-)