matthieu637/cpp-2a-crawler

Premières propositions

Closed this issue · 1 comments

Rudder

On détermine la liste des liens à explorer via le premier lien que l'on donne puis par les autres liens que le parser trouvera.

Utilisation du fichier "robots.txt" ?

Parser

L'objectif est de récupérer le code HTML d'une page web et de le "transformer" en objet Java.
On peut par exemple utiliser Jsoup qui est à priori assez simple.

Agrégateur

Il permet d'obtenir un ensemble cohérent dans la BDD à partir des objets Java créés par le parser.
On peut par exemple récupérer les balises HTML title, h1, strong, les liens, les tableaux.. afin de les mettre dans la BDD et ainsi pouvoir y accéder par la suite. (par exemple, sur le site de résultats sportifs (cf. mail de M. Zimmer), on veut connaitre les résultats de Nancy, on demande "ASNL" et cela nous renvoie les liens avec les résultats de Nancy)

BDD

--> où est-elle hébergée ?
Java et BDD

Autres

Pourquoi ne pas faire une interface graphique permettant de fouiller dans la BDD ? (en fonction du temps...)

Merci pour ton initiative, quelques critiques pour t'aider :
A la fin de la lecture de ton issue enhancement, en tant que développeur, je ne sais pas quoi réaliser. Il me semble que c'est plus un mixe entre du wiki et des questions qu'une fonctionnalité à implémenter (tu peux modifier le wiki pour y ajouter des informations).

Donc essaie d'être plus précis, et de ne traiter que d'un sujet à la fois. Voici un exemple de ticket enhancement plus précis #7 .

Sinon sur les questionnements :

  • Bonne idée pour le robot.txt, on pourrait avoir un type de rudder qui l'utilise (un ticket pour demander l'ajout d'un gouvernail de ce type est justement intéressant)
  • La base de donnée sera du sqlite au départ, donc pas besoin d'installer de service ni d'hébergement. Ça sera un simple fichier ".sqlite".
  • Il existe déjà de bonnes interfaces pour parcourir des bases de données. Néanmoins si la partie GUI vous intéresse, elle pourrait servir à aider le parser pour savoir quelles informations il doit garder, fusionner, ...