16


6

ウィキペディアからインフォボックスデータを取得する方法は?

ページのURLがある場合、MediaWiki Webサービスを使用して右側のインフォボックス情報を取得するにはどうすればよいですか?

8 Answer


14


少し遅れるかもしれませんが、私は同じことを望み、ここで簡単な解決策を見つけませんでしたが、(Bryanが指摘するように)このライブラリでMediawiki APIを使用するのはそれほど難しくないことがわかりました:

使用法:

>>> import wptools
>>> so = wptools.page('Stack Overflow').get_parse()
>>> so.infobox
{'alexa': '{{DecreasePositive}}',
 'author': '[[Joel Spolsky]] and [[Jeff Atwood]]',
 'caption': 'Screenshot of Stack Overflow as of February 2015',
 'commercial': 'Yes',
 'content_license': '[[Creative Commons license|CC-BY-SA]] 3.0',
 'current status': 'Online',
 'landscape': 'yes',
 'language': 'English',
 'launch date': '{{start date and age|2008|9|15}}',
 'logo': 'Stack Overflow logo.svg',
 'name': 'Stack Overflow',
 'owner': 'Stack Exchange, Inc.',
 'programming_language': '[[C Sharp (programming language)|C#]]',
 'registration': 'Optional; Uses [[OpenID]]',
 'revenue': '',
 'screenshot': 'Stack Overflow homepage.png',
 'slogan': '',
 'type': '[[:Category:Knowledge markets|Knowledge markets]]',
 'url': '{{URL|https://stackoverflow.com}}'}


13


インフォボックスを解析したい、またはダイジェストデータを取得したい場合は、DBPediaプロジェクトをご覧ください:http://dbpedia.org

WPのインフォボックスをスキャンして、WikipediaからRDFデータベースを作成します:https://github.com/dbpedia/extraction-framework/


11


それを行う簡単な方法はありません。 action = raw`を使用してページコンテンツの取得を試すことができます。 `http://en.wikipedia.org/w/index.php?action = raw&title = Douglas_Jardine`次に、 {{Infobox`を検索して、インフォボックスの先頭を見つけます。 次に、情報ボックス自体に {{ -}} `と {{{-}}}`のペアを含めることができることを考慮して、一致する `}}`を見つけて終わりを見つけます。


2


各WikipediaページはWikidataアイテムに関連付けられており、これらのすべてのアイテムには、WikipediaページのInfoboxテンプレートのほとんどのパラメーターが含まれています。 そのため、https://www.wikidata.org/w/api.php?action = help&modules = wbgetentities [Wikidata API]からWikipediaページに関連付けられたデータにアクセスするだけで済みます。

Wikipedia Donald Trumpページのデータをhttps://www.wikidata.org/wiki/Q22686[Wikidata item]から取得する方法の例:

https://www.wikidata.org/w/api.php?action=wbgetentities&sites=enwiki&props=claims&titles=Donald Trump

応答には、生年月日と場所、画像、宗教、母、父、子供、身長、署名、公式ウェブサイトなどが含まれます。ドナルドトランプに関するすべての主要情報は、Wikipediaインフォボックスに含まれています。


1


Tomxu-あなたが話しているのはテンプレートです-これは単純なページで、別のページに含めることができます。 インフォボックスについては、http://en.wikipedia.org/wiki/Template:Infobox [Template:Infobox]を見て開始する必要があります。 これにより、詳細な手順が示されます。

編集(またはコードの表示)を押して、コンテンツを独自のwikiにコピーすることもできます。 テンプレートは階層構造になっている傾向があるため、Infoboxが使用する他のテンプレートをコピーする必要がある場合があります(使用する場合)。 各テンプレートは\ {\ {}}で識別できます。 Infoboxテンプレートは次のようになります:\ {\ {Infobox}}。

階層について説明しました。実際には、すべてがTemplate:Infoboxを使用する複数のテンプレートがあります。 それらを見つけるには、Wikipediaの検索フィールドに* Template:Infobox *と入力するだけで、複数の例を見つけることができます。 Template:Infobox writer

更新: Navboxesを意味する場合、http://en.wikipedia.org/wiki/Template:Navbox#Copying_to_other_projects_or_wikis.3F [この情報を参照]。


0


このプロジェクトでは、次のようにウィクショナリーからデータを取得するためにクエリを使用します。

http://query.yahooapis.com/v1/public/yql?q=select%20*%20from%20html%20where%20url%3D%22http%3A%2F%2Fen.wiktionary.org%2Fwiki%2Flife%22%20and%20xpath%3D'%2F%2Fdiv%5B%40id%3D%22bodyContent%22%5D'&format=xml&diagnostics=false&env=store%3A%2F%2Fdatatables.org%2Falltableswithkeys&callback=recwiki

私はそれを包括的に理解していませんが、うまくいきます。 出力結果は、jqueryなどを使用してフィルタリングを解除できます。


0


編集モードの使用はどうですか? 正しいTextArea(ほとんどの場合は `id =" wpTextBox1 "`を含む)で開始し、そのTextAreaのコンテンツを解析できます…​ それを見つけるために使用したURLは次のとおりです(注:セクション= 0):

https://de.wikipedia.org/w/index.php?title=Pelephone&action=edit&section=0

ご挨拶


-1


MediaWikiを使用すると、以下のリンクを使用して、Wikipediaページの右側にある情報ボックスを表示できます。 ご覧のとおり、形式はJSON(変更可能)であり、「水素」という単語を特定のタイトルに変更すると、情報ボックスのあるページが表示されます。