2013-05-18 7 views
6

私はいくつかの正規表現でエクスポートを解析することによって、エクスポートされたWikipediaの記事から言語間リンクを取得するのに使用しました。エクスポートされたWikipediaの記事からインター言語リンクを取得していますか?

WikiData projectのフェーズ1では、これらのリンクがWikidataの別のページに移動されました。

たとえば、記事Ore Mountainsにはエクスポート時に言語リンクがありません。言語リンクはQ4198になりました。

言語リンクはどのようにエクスポートできますか?

+0

アシモフ、回答がアンロックされている場合は状況を確認してください。 – Hugolpz

答えて

1

エクスポートをAPIに変更しました。あなたは、このようなプロパティ "langlinks"、とinterwikilanguageリンクを取得することができます:your case, use props=labelsについてhttp://wikidata.org/w/api.php

:あなたは今、ウィキデータAPIを使用することが推奨され

http://en.wikipedia.org/w/api.php?action=query&titles=Ore%20Mountains&prop=langlinks

+2

私が理解している限り、[これはすぐに動作しなくなり、その後、しばらくしてから、クエリにパラメータを追加すると再び動作するようになります](http: //osdir.com/ml/general/2013-04/msg48570.html)。 – svick

+0

それはうまくいくが、Wikidataが進むにつれて、すべてのinterwikiデータはwikipediaから削除され、wikidataに移される。フェーズ1はすでにウィキペディアからそれらの大部分を削除していたはずです。 – Hugolpz

+0

答えに示すようにAPIを使用すると、正しいリンクが取得されます。質問のページからのインターウィキのリンクがすでにウィキデータに移動しているので、これがリンクを取得する正しい方法だと思います。 – Asimov

5

。このURLは自己説明的です:

http://www.wikidata.org/w/api.php?action=wbgetentities&sites=enwiki&titles=Ore%20Mountains&languages=cs|de|es|fr|it|pl|pt|ru&props=labels&format=xml 
+0

これは動作しますが、記事がwikipediaに存在しない場合でもいくつかの言語で結果が得られます。この問題を解決する方法はありますか? –

+0

例を表示できますか? – Hugolpz

+0

実際、ウィキペディアのリンクはラベルではなくサイトリンクです。たとえば、 "Ore Mountains"の代わりに "Giancarlo Magalli"であなたのURLを試してみてください。イタリア語でしか利用できない言語でも –

関連する問題