Comment concevoir un robot d'indexation web en Java?
Je suis en train de travailler sur un projet qui doit à la conception d'un robot d'indexation web en Java, ce qui peut prendre une requête de l'utilisateur sur un sujet news et ensuite visiter les différents sites web de nouvelles et ensuite extraire le contenu des nouvelles à partir de ces pages et de les stocker dans certains fichiers/bases de données. J'ai besoin de cela pour faire un résumé de l'ensemble des contenus stockés. Je suis nouveau sur ce champ et attendre de l'aide de personnes qui ont de l'expérience comment le faire.
Droit maintenant, j'ai le code pour extraire le contenu des nouvelles à partir d'une seule page qui prend la page manuellement, mais je n'ai aucune idée de comment l'intégrer dans un site web crawler pour extraire le contenu de différentes pages.
Quelqu'un peut-il donner quelques bons liens vers des tutoriels ou des implémentations en Java que je peux utiliser ou modifier en fonction de mes besoins?
OriginalL'auteur dark_shadow | 2012-04-04
Vous devez vous connecter pour publier un commentaire.
http://jsoup.org/
OriginalL'auteur Juan Mendes
Un mot de conseils en plus d'autres réponses - assurez-vous que votre robot respecte
robots.txt
(c'est à dire ne pas analyser les sites rapidement et sans discernement) ou vous êtes susceptible d'obtenir vous-même/votre organisation bloqué par les sites que vous souhaitez visiter.OriginalL'auteur DNA
Voici quelques open source Java bibliothèques que la plupart des gens recommandons,
Mon préféré serait Java Web Crawler, du fait de sa rapidité et de la facilité à configurer.
btw, si ce n'est pas quelque chose de très grand, pour une mission, si votre source de sites web ne changent PAS souvent, je vous recommande de mettre en œuvre un simple analyseur HTML.
Espère que ça aidera
OriginalL'auteur EricSRK
Je vous recommande de vérifier mes réponses ici: Comment puis-je apporter comme sur google recrawling dans mon application(web ou console) et La conception d'un web crawler
La première réponse a été fournie pour un C# question, mais c'est en fait une langue agnostique réponse de sorte qu'il s'applique à Java. Découvrez les liens que j'ai fournis dans les deux réponses, il y a du bon matériel de lecture. Je voudrais aussi dire que vous devriez essayer l'une de la déjà java robots, plutôt que d'écrire toi même (c'est pas un petit projet).
Cette exigence semble aller au-delà de la portée de la "juste un robot" et aller dans le domaine de l'apprentissage automatique et de traitement du langage naturel. Si vous avez une liste de sites web pour lesquels vous êtes sûr qu'ils servent des nouvelles, alors vous pourriez être en mesure d'extraire le contenu des nouvelles. Cependant, même alors, vous devez déterminer quelle partie du site web de nouvelles et ce qui ne l'est pas (c'est à dire il peut également y avoir des liens, des annonces, des commentaires, etc). Donc exactement ce genre d'exigences êtes-vous confrontés? Avez-vous une liste de sites d'actualités? Avez-vous un moyen fiable pour extraire de nouvelles?
OriginalL'auteur Kiril
J'ai trouvé cette article pour être vraiment utile quand j'ai lu sur le Web Crawlers.
Il fournit un guide étape par étape de l'élaboration d'un multi-thread robot.
En substance, ce qui suit est une très vue de haut niveau de ce qu'est un robot doit faire
OriginalL'auteur Chander Shivdasani