TypeScriptでWikipediaの情報をmediawiki APIにより取得する。
WikipediaのAPIに関してはMediaWiki APIを使ってWikipediaの情報を取得を参考にした。
目標
ある文字列を含む記事の検索結果を取得する。
返り値の確認
APIサンドボックスを使って確認する。
形式=json、操作=query, list=search、srsearch=「検索文字列」にしてリクエストすれば、返り値が確認できる。
TypeScriptソースコード
APIサンドボックスのリクエスト結果からリクエストコードを書く。
リクエストにはjqueryを使用している。
Wikipedia.ts
namespace utils.Wikipedia {
const ENDPOINT = 'https://ja.wikipedia.org/w/api.php?'
const TITLE_BASE_URL = ENDPOINT + 'action=query&list=search&format=json&srsearch='
export function search(title: string, success: (infos: Array<SearchInfo>) => void, fail?: (jqXhr: JQueryXHR) => void) {
var url = TITLE_BASE_URL + encodeURIComponent(title)
var xhr = $.ajax({
url: url,
type: 'GET',
dataType: 'jsonp',
jsonpCallback: 'callback'
})
xhr.then((json: SearchResponseJson) => {
success(json.query.search)
}, fail)
}
interface SearchResponseJson {
query: {
search: Array<SearchInfo>
}
}
export interface SearchInfo {
title: string,
snippet: string,
wordcount: number,
timestamp: string
}
}