-2

HTML と JavaScript を使用して「自動ウィキファイア」ツールを作成しています。ウィキ化するテキスト内の単語ごとに、その単語を含むページのリストを取得する必要があります (テキスト内の一致するフレーズが見つかった場合、自動的にウィキ化できるようにするため)。ウィキペディアの API または Web サービスのいずれかを使用して、特定の単語を含むすべてのウィキペディア ページのリストを取得する方法はありますか?

function getMatchingPageTitles(theString){
    //get a list of all matching page titles for a specific string, using one of Wikipedia's APIs or web services
}
4

2 に答える 2

6

まずそのようものがどのよう役立つ理解できませ 。(ウィキペディアにはすべての一般的な単語の記事があり、それらへのリンクは役に立たないと思います。)

しかし、本当にこのようなことをしたい場合は、APIを使用して、入力テキストのどの単語に冠詞があるかを調べる方がはるかに良い方法だと思います。

たとえば、 string のI am writing an "auto-wikifier" tool場合、クエリは次のようになります。

http://en.wikipedia.org/w/api.php?format=xml&action=query&titles=I|am|writing|an|auto-wikifier|ツール

答えは次のとおりです。

<api>
  <query>
    <normalized>
      <n from="am" to="Am" />
      <n from="writing" to="Writing" />
      <n from="an" to="An" />
      <n from="auto-wikifier" to="Auto-wikifier" />
      <n from="tool" to="Tool" />
    </normalized>
    <pages>
      <page ns="0" title="Auto-wikifier" missing="" />
      <page pageid="2513432" ns="0" title="Am" />
      <page pageid="2513422" ns="0" title="An" />
      <page pageid="25346998" ns="0" title="I" />
      <page pageid="30677" ns="0" title="Tool" />
      <page pageid="32977" ns="0" title="Writing" />
    </pages>
  </query>
</api>

いくつかのメモ:

  • 結果は、指定した順序ではありません。
  • ページが存在しない場合、結果にはmissing=""属性があります。
  • JSON および JSONP 形式も利用可能で、JavaScript により適している可能性があります。
  • titlesパラメータには、1 つのクエリあたり 50 の制限があります。
于 2013-01-22T18:23:43.697 に答える
1

API:Allpagesは興味深いスタートです。残念ながら、500クエリに制限されています

于 2013-02-16T23:46:10.587 に答える