【Python66】Wikipedia をPythonから検索・データ抽出する【Google Colab】

Wikipedia モジュール

Wikipediaからデータを取ってきたいといっていたような気がしたので。。ちょっと調べてみました。

もともと、MediaWiki.orgからAPIが提供されていて、HTML形式でデータアクセスができます。また、データのダウンロードもできます。

Python用のWikipediaモジュールもあったので、それを少し使ってみました。

https://wikipedia.readthedocs.io/en/latest/

Githubはこちらです。

Google Colabのノートブックで

百聞は一見にしかずなので。。 例によってGoogle Colabで

例を作っておきました(笑)

RequestsやBeautifulSoupを使ってパースするよりは、簡単ですね。

取れるデータは、こんな感じです。

  • wikipedia.set_lang(“jp”)
    • jp を en にすると英語のWikipediaからとってきます。jpからとってくるといいでしょう。
  • result = wikipedia.page(‘シビックテック’)
    • 実は、この関数と、wikipedia.searchが秀逸で、Wikipediaにエントリーがない項目だと、近しい言葉を引いてきてくれます。
  • print(“Title:”, result.title)
    • タイトル
  • print(“Original Title:”, result.original_title)
    • オリジナルタイトル。。意味わかってませんが、オリジナルなタイトルだそうです。
  • print(“Summary;”,result.summary)
    • サマリー概要・要約が抜けます result.contents で内容も抜けます
  • for link in result.links: print(link)
    • リンク
  • for section in result.sections: print(section.title)
    • 章のタイトル、section.textで内容が取れます
  • for category in result.categories:print(category)
    • その言葉が含まれるカテゴリー
  • for image in result.images: print(image)
    • 画像のURL
  • for reference in result.references: print(reference)
    • リファレンス、参照のURL
  • print(‘Url’,result.url)
    • そのWikipediaのページのURL

などです。他にも取得できるようです。

https://github.com/tom2rd/Googlecolabutils/blob/master/Wikipedia.ipynb

こちらから試してみてください。

シビックテック を調べてみたら

日本語でシビックテックを調べてみると。。

エントリーがないので、Code for Japanが出てきました。Civicって本田の車ですね(笑)

では、CivicTechって調べたら・・・

なぜか、BTCC(イギリスのレース)のことが、出てきます(笑) Civicはやはり車なんですね。

ちなみに、英語で調べたら

1位 Civic technology です!

二番は、Honda Civicですけどね(笑)

まぁ、Wikipediaですから。。