Comment extraire les url d'un document de html?

Signaler
Messages postés
3
Date d'inscription
mercredi 19 février 2003
Statut
Membre
Dernière intervention
25 février 2003
-
Messages postés
949
Date d'inscription
mardi 2 octobre 2001
Statut
Membre
Dernière intervention
8 juillet 2006
-
Bonjour je voudrais savoir comment on fait pour extraire les url d'un document de html, en utlisant le langage C, il peut y avoir plusieurs url dans document html.
En faite, je vous donne l'exemple d'un fichier html, c 'est comme un fichier texte, il contient plusieurs caractères.
Un lien est de la forme suivante:

[3722/emacs.html emacs]

Moi ce que je dois faire c'est d'extraire ce qui se trouve entre guillemets(URL), c'est à dire "3722/emacs.html". Pour cela on dit qu'il faut vérifier que le premier caractère est='<' deuxième='a' troisième='h' jusqu'au temps ou je vois le premier guillemet. Ensuite il faut afficher ce qui se trouve entre guillemets sans les guillemets.

Voici l'extrait d'un fichier html
Vous voyez ici j'ai 2 url, il peut y en avoir plusieurs premier :"http://www.funfun.com/cgibin/?"
deuxième:"3722/emacs.html"
En passant il doit y avoir au moins un espace autour du signe d'égalité
=====================================
<!doctype html public "-//w3c//dtd html 4.0 transitional//en">
<html>
<head>
......blabla
liens</center>
<hr WIDTH="100%"></center>

......blabba
[3722/emacs.html emacs]
[3722/cygwin.html cygwin]
=====================================

la sortie sera comme:
lien1=http://www.funfun.com/cgibin/?">
lien2=3722/emacs.html

mai je ne sais pas comment le faire pouvez-vous me le dire comment le faire
je suis désespérée j'attends votre réponse
bonne journée

3 réponses

Messages postés
949
Date d'inscription
mardi 2 octobre 2001
Statut
Membre
Dernière intervention
8 juillet 2006

Deux solutions:

- Faire les recherches à la main dans le fichier (parcours caractère par caractère): s'il s'agit d'un '<' se mettre dans un état a, puis si ensuite on trouve un 'A' on passe dans un état b, s'il s'agit d'un '>' on repart à l'état initial.

- Modéliser le problème précédent avec l'analyseur lexical Lex/Flex. C'est la solution la plus simple, doit être fait en 5 minutes (enfin si tu connais l'outil).

Kaid - kaid.fr.st
Messages postés
3
Date d'inscription
mercredi 19 février 2003
Statut
Membre
Dernière intervention
25 février 2003

Merci pour les solutions que tu m'as proposées, mais je ne sais pas qu'est-ce que c'est un l'analyseur lexical Lex?,
Il me faut une fonction qui m'aiderait à extraire les url dans un document html, sur le langage C. C'est un tp uniquement sur le langage C(sous Linux).
Ce qu'il me faut c'est une fonction qui me permattrait de résoudre ce problème.
j'attends votre réponse, j'espere que qqn va m'aider!
en passant g bien aimé le film "Le destin d'Amélie Poulin", ça été le meilleur que g vu depui "Le dîner de cons"
même si c pas le lieu d'en parler, j'adore les films français!!
A+
Messages postés
949
Date d'inscription
mardi 2 octobre 2001
Statut
Membre
Dernière intervention
8 juillet 2006

Flex est un outil qui, à partir d'un ensemble de règles lexicales, génére un code en langage C permettant d'appliquer ces règles à un fichier en entrée pour générer un fichier de sortie.

- Règles lexicales = Syntaxe des HREF
- Fichier entrée = Fichier HTML
- Fichier sortie = Les URLs

Kaid - kaid.fr.st