8
votes

Wikipedia: bibliothèque Java pour supprimer le suppression du balisage de texte Wikipedia

J'ai téléchargé Wikipedia Dump et désormais désormais supprimer le balisage Wikipedia dans le contenu de chaque page. J'ai essayé d'écrire des expressions régulières mais elles sont trop nombreuses pour gérer. J'ai trouvé une bibliothèque Python, mais j'ai besoin d'une bibliothèque Java parce que, je veux intégrer à mon code.

merci.


1 commentaires

Cloud Vous postez un échantillon d'une page indiquant les balises que vous souhaitez supprimer?


5 Réponses :


1
votes

MyLYN WikiteXt peut convertir diverses syntaxes de wiki en formats HTML et d'autres formats. Il prend également en charge la syntaxe MediaWiki, ce qui utilise Wikipedia. Bien que MyLyn Wikitext est principalement un plug-in Eclipse, il est également disponible en tant que bibliothèque autonome .


2 commentaires

J'ai juste besoin d'une fonction qui peut supprimer le marquage wiki du contenu. Je ne sais pas comment utiliser Mylyn pour supprimer le balisage. Peux-tu me dire comment le faire.


@Algorist: MyLYN WikiteXt ne supprime pas le balisage, il se convertit en autres formats. Je suis désolé, j'ai mal interprété votre question.



11
votes

le faire en deux étapes:

  1. Laissez certains outils existants convertir la marque MediaWiki en HTML uni;
  2. Convertir le HTML ordinaire en texte.

    La démo suivante: xxx

    produit: xxx

    Où téléchargez-vous les packages Java que vous importaez?

    ici: archive Web Lien de télécharger.java.net/maven/2/net/java/textile-j/2.2


4 commentaires

Où téléchargez-vous les packages Java que vous importaez?


Cela a fonctionné génial, merci! Cela n'a manqué que quelques autres éléments comme {{...}}.


Salut Bart, ce lien de téléchargement ne fonctionne pas, y a-t-il une source alternative de téléchargement?


@kzs Le lien semble être archivé: j'ai édité ma réponse pour inclure ce lien et supprimé le lien mort des commentaires.



1
votes

Essayez le Texte MediaWiki au texte brut approche. Vous devez probablement améliorer la classe Plainteexverter pour vos besoins. Combinée avec le Exemple pour convertir des textes Wikipedia en HTML , vous pouvez transperflude Contenu.


0 commentaires

3
votes

7 commentaires

Bienvenue dans le débordement de la pile! La question n'est pas sur le sujet de la pile de pile telle que définie dans le centre d'aide . S'il vous plaît ne répondez pas à de telles questions; Au lieu de cela, vous devriez le signaler pour attirer l'attention et ils seront fermés ou migrés de manière appropriée.


Bien que ce lien puisse répondre à la question, il est préférable d'inclure les parties essentielles de la réponse ici et de fournir le lien pour référence. Les réponses uniquement uniquement peuvent devenir invalides si la page liée change. - de l'avis


Merci @bhuwan. J'ai mis à jour ma réponse basée sur votre suggestion.


@ Sh.sina Devrais-je donner tout le fichier de décharge en entrée de la méthode propre ()? N'y a-t-il aucune possibilité que je reçois le texte nettoyé uniquement pour certains titres de page que je connais? La documentation de la bibliothèque est un peu trompeuse. Où devrais-je avoir le fichier de vidage comme entrée et où le titre de la page?


@ user1419243 Veuillez vous reporter au boîtier 1 mentionné dans ma réponse. Si vous avez le texte, il vous suffit d'ajouter les balises XML démarrage et finissant, puis elle sera traitée par la bibliothèque. Si vous avez toujours des problèmes, collez votre texte et je vais essayer d'aider :).


@ Sh.sina merci pour votre réponse, mais j'ai toujours le problème. Ma première question est où devrais-je mettre le fichier de vidage. Par exemple, je veux obtenir le texte brut de la page "Apache HTTP Server" de Wikipedia. J'ai le fichier de vidage de Wikipedia dans "E: \\ Enwiki-20171103-pages-articles-multream.xml.bz2". Si je donne le texte ci-dessus avec les balises mentionnées, comment la bibliothèque sache-t-elle qu'il devrait passer via le fichier de vidage dans e lecteur? Je ne vois nulle part dans le code qui charge le fichier de vidage. Et je ne veux pas ramper tout le fichier de décharge (non?). Je n'en ai pas besoin. J'ai les pages dont j'ai besoin.


Vous pouvez modifier le Dumpfile, c'est un fichier XML. Supprimez toutes les pages, laissez uniquement les pages que vous souhaitez être traitées et viola :).



1
votes

Vous pouvez utiliser JWIKI pour obtenir l'exemple de données Wikipedia:

Jwiki jwiki = new Jwiki("elon musk");
System.out.println("Title :"+jwiki.getDisplayTitle()); //get title
System.out.println("Text : "+jwiki.getExtractText());  //get summary text
System.out.println("Image : "+jwiki.getImageURL());    //get image URL


0 commentaires