|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object | +--Crawler
Classe principale du crawler puisqu'elle contient la méthode main
.
Cette classe gère:
NavThread
) qui va/vont compléter et
mettre à jour la base de données
VerifThread
) qui va supprimer
de la base de données toutes les pages qui n'existent plus
NavThread
,
VerifThread
Field Summary | |
protected java.util.Properties |
conf
Objet stockant tous les paramètres de configuration du crawler. |
protected static java.lang.String |
DEF_DEPTH
Profondeur de recherche par défaut utilisé si le fichier de configuration n'est pas accessible. |
protected static java.lang.String |
DEF_START
Page html de départ par défaut utilisée si le fichier de configuration n'est pas accessible. |
protected static java.lang.String |
DEF_THREAD
Nombre de processus par défaut utilisé si le fichier de configuration n'est pas accessible. |
static int |
DICO_DE
Constante désignant le dictionnaire allemands des mots à ignorés (inutilisé dans cette version). |
static int |
DICO_EN
Constante désignant le dictionnaire anglais des mots à ignorés (inutilisé dans cette version). |
static int |
DICO_FR
Constante désignant le dictionnaire français des mots à ignorés lors du parsage des pages html. |
protected java.util.Properties[] |
dicos
Tableau contenant les dictionnairess des mots à ignorés lors du parsage des pages html. |
protected HttpVerifThread |
httpverif_proc
Objet contenant le processus de vérification des liens ( HttpVerifThread ) du crawler. |
static boolean |
journal
Drapeau demandant au programme de journaliser ce qu'il fait. |
static java.lang.String |
name_db
Champ contenant le nom de la base de données dans laquelle sont stockées tous les liens trouvés sur le web. |
protected static int |
NB_DICOS
Constante stockant le nombre total de dictionnaires de mots à ignorés. |
protected java.io.PrintStream |
outLog
Objet permettant d'écrire dans le fichier de journalisation. |
static java.lang.String |
passwd_db
Champ contenant le mot de passe de l'utilisateur pour se connecter à la base de données. |
protected static java.lang.String |
pathConf
Chemin par défaut du fichier de configuration du crawler. |
protected static java.lang.String |
pathDicos
Chemin par défaut des dictionnaires des mots à ignorés lors du parcours des pages html. |
protected static java.lang.String |
pathLog
Chemin par défaut du fichier de journalisation du crawler. |
protected java.util.Vector |
tab_nav_procs
Tableau contenant tous les processus de navigation ( NavThread ) du crawler. |
static java.lang.String |
user_db
Champ contenant le nom de l'utilisateur qui doit se connecter à la base de données. |
static boolean |
verbose
Drapeau demandant au programme de signaler en sortie standard toutes les pages qu'il parse et d'autres infos |
protected VerifThread |
verif_proc
Objet contenant le processus de vérification ( VerifThread ) du crawler. |
Constructor Summary | |
Crawler()
Construit un nouvel objet Crawler qui lancera l'application. |
Method Summary | |
protected int |
getDepth()
Retourne la profondeur maximale de l'exploration à partir de la page web de départ. |
protected java.lang.String |
getInitPath(int i)
Retourne l'url de la i-ème page html de démarrage des recherches. |
protected int |
getNbPaths()
Retourne le nombre de page(s) web pour commencer l'exploration. |
protected int |
getNbThreads()
Retourne le nombre de processus de navigation ( NavThread ).
|
protected void |
loadConf(java.lang.String path)
Charge la configuration du crawler. |
protected void |
loadDefConf()
Charge les paramètres de configuration du crawler par défaut. |
protected void |
loadDico(java.lang.String path,
int lang)
Charge un dictionnaire de mots à ignorés lors du parsage d'une page html. |
static void |
main(java.lang.String[] args)
Point de départ de l'application. |
protected void |
openLog()
Ouvre un flux vers le fichier de journalisation. |
Methods inherited from class java.lang.Object |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
Field Detail |
public static boolean verbose
public static boolean journal
public static final java.lang.String name_db
public static final java.lang.String user_db
public static final java.lang.String passwd_db
protected static final java.lang.String pathConf
protected static final java.lang.String DEF_DEPTH
protected static final java.lang.String DEF_THREAD
protected static final java.lang.String DEF_START
protected java.util.Properties conf
Cet objet regroupe les propriétés suivantes:
protected static final java.lang.String pathDicos
public static final int DICO_FR
public static final int DICO_EN
public static final int DICO_DE
protected static final int NB_DICOS
Rem: après compilation il est possible de modifier le contenu des dictionnaires mais pas leur nombre.
protected java.util.Properties[] dicos
protected static final java.lang.String pathLog
protected java.io.PrintStream outLog
protected java.util.Vector tab_nav_procs
NavThread
) du crawler.
NavThread
protected VerifThread verif_proc
VerifThread
) du crawler.
VerifThread
protected HttpVerifThread httpverif_proc
HttpVerifThread
) du crawler.
HttpVerifThread
Constructor Detail |
public Crawler()
Crawler
qui lancera l'application.
Method Detail |
protected void loadDefConf()
Cette méthode est appelée lorsque le fichier de configuration est corrompu, inexistant ou non lisible.
DEF_DEPTH
,
DEF_THREAD
,
DEF_START
protected void loadConf(java.lang.String path)
Pour cela la méthode commence par essayer d'accéder au fichier de configuration dont le chemin est passé en paramètre. Si celui-ci est corrompu, inaccessible ou illisible, les paramètres par défaut sont simplement chargés. Si le fichier n'existe pas, là encore les paramètres par défaut sont chargés et de plus le fichier est créé avec ces mêmes paramètres.
path
- le chemin d'accès au fichier de configurationloadDefConf()
protected void loadDico(java.lang.String path, int lang) throws java.lang.NullPointerException
En cas d'erreur de lecture, le chargement est simplement abandonné et n'interrompt pas l'initialisation du crawler (le fait est seulement signalé sur la sortie standard).
path
- le chemin d'accès au fichier contenant le dictionnairelang
- la langue de ce distionnaire
java.lang.NullPointerException
- Emis si le paramètre path
est null
.protected int getDepth()
Properties conf
. Cependant,
si celui-ci est corrompu, c'est la profondeur par défaut qui est retournée.Rem : Ce comportement n'est pas forcément souhaitable et devrait être modifié ultérieurement.
conf
,
DEF_DEPTH
protected int getNbThreads()
NavThread
).
Normalement ce nombre est stocké dans le champ Property conf
. Cependant, si
celui-ci est corrompu, c'est le nombre par défaut qui est retourné.Rem : Ce comportement n'est pas forcément souhaitable et devrait être modifié ultérieurement.
NavThread
).conf
,
DEF_THREAD
,
NavThread
protected int getNbPaths()
Property conf
. Cependant, si
celui-ci est corrompu, c'est le nombre par défaut (1) qui est retourné.Rem : Ce comportement n'est pas forcément souhaitable et devrait être modifié ultérieurement.
conf
protected java.lang.String getInitPath(int i)
Cette url est stockée dans la variable Properties conf
.
null
si elle n'existe pas.conf
protected void openLog() throws java.lang.NullPointerException, java.io.IOException
Si le fichier existe déjà son contenu sera écrasé. Dans le cas contraire, il sera créé. Si le fichier n'est pas ouvrable en écriture ou n'est pas un fichier valide, une exception est lancée à la fonction appelante.
Le flux vers le fichier de journalisation est de type PrintStream
et permet
donc une utilisation partagée entre plusieurs processus.
java.lang.NullPointerException
- Emis si le chemin d'accès au fichier de journalisation n'a pas été
défini (cette exception ne devrait jamais être lancée et pourrait être suppriée ultérieurement).
java.io.IOException
- Emis si le fichier de journalisation n'est pas accessible en écriture.outLog
public static void main(java.lang.String[] args)
Cette méthode est décomposable en plusieurs parties et sous-parties:
NavThread
)
VerifThread
)
args
- liste des arguments passés à l'application.NavThread
,
VerifThread
|
||||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |