6 votes

Rails + API MediaWiki pour l'extraction de données de Wikipédia

J'essaie d'utiliser Rails pour extraire des données de Wikipedia, sur la base d'un terme de recherche.

Par exemple,

1) Si j'ai la chaîne "American Idol", je veux la passer à Wikipedia et obtenir une liste des articles qui s'y rapportent. Mon objectif sera de prendre les 3 premiers hyperliens et de les afficher sur le site web.

2) une étape supplémentaire consisterait à extraire de petits morceaux de données de Wikipédia - disons l'infobox, ou les premiers mots de l'article de Wikipédia.

Des conseils ?

Gracias.

5voto

jpatokal Points 6061

Vous n'avez pas besoin de recourir au screen-scraping, MediaWiki dispose d'une fonction API très complète pour précisément ce genre de choses. Voir https://github.com/jpatokal/mediawiki-gateway pour une enveloppe pratique en Ruby.

Si vous n'êtes intéressé que par des données telles que les infobox, vous pouvez également consulter la rubrique DBpedia pour la version base de données de Wikipédia.

1voto

Puce Points 978

Il existe une autre pierre précieuse que vous pouvez utiliser : https://github.com/kenpratt/wikipedia-client

Cette gemme semble obtenir uniquement le premier résultat de votre recherche, mais vous pouvez consulter la documentation pour en être sûr.

En ce qui concerne le contenu, une fois la page obtenue, la gemme vous permet d'accéder aux différents contenus de l'article, aux liens, aux images et ainsi de suite.

0voto

davidb Points 5208

Utilisez la mécanisation et le Nokogiri pour le faire. C'est un excellent aide-mémoire pour cela :

http://www.e-tobi.net/blog/files/ruby-mechanize-cheat-sheet.pdf

Mechanize est une boîte à outils pour simuler les appels de sites web et nokogiri est un analyseur html/xml. Il devrait être simple de réaliser cela.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X