wikipediaにpythonからアクセスする

wikipediaにpythonからアクセスする



目次

  1. インストール方法について

  2. pythonでwikipedia検索結果の候補一覧を出す方法

  3. pythonでwikipediaのページを出力する方法

  4. wikipediaのページをさらに詳しく見ていく



wikipedia apiのインストール方法


インストールは以下の一文でOK
                  
pip install wikipedia
                  
              
わかりやすくていいですね!
ここまでできたらサンプルコードを実行してみましょう





pythonでwikipedia検索結果の候補一覧を出す方法

    
import wikipedia


tohomas_result = wikipedia.search("トーマス")

print(tohomas_result)
    


結果
SyntaxError: Non-ASCII character '\xe3' in file sample.py on line 4, but no encoding declared; see http://python.org/dev/peps/pep-0263/ for details

なにやらエラーが出てきました。
原因はsearchの引数の"トーマス"
ですので先頭に# coding: UTF-8をつけてもう一度実行

pythonで日本語を使う際は、先頭に# coding: UTF-8を入力しましょう!

    
# coding: UTF-8

import wikipedia


tohomas_result = wikipedia.search("トーマス")

print(tohomas_result)

    

結果

['Perverted Thomas', 'Yuji (actor)', 'List of Thomas & Friends episodes', 'Naomi Watanabe', 'Harukana Receive', 'Brother Tom', 'Dharma & Greg', 'Thomas Kurihara', 'Noguchi', 'Mega Man ZX Advent']


なんか大量に英語で出力が出てきましたね
日本語版のwikipediaを使いたいのでwikipedia.set_lang("ja")しましょう


# coding: UTF-8

import wikipedia
wikipedia.set_lang("ja")

tohomas_result = wikipedia.search("トーマス")

print(tohomas_result)



結果
['トマス', 'トーマス郡 (ジョージア州)', 'ゲラント・トーマス', 'デビ・トーマス', 'トーマスタウン 新三郷', 'きかんしゃトーマス トーマスのはじめて物語', '機関車トーマス (絵本)', 'トーマス・カーレンベルグ', 'トーマス・パーテイ', 'トーマス・ハドナー (ミサイル駆逐艦)']
どうやら、wikipediaの検索欄で「トーマス」と検索した時の候補一覧が出てくるようですね!





ここでは「機関車トーマス」について調べたいので、候補の「きかんしゃトーマス」をwikipedia.searchの引数に入れましょう

pythonでwikipediaのページを出力する方法

wikipediaのページを出力する方法はwikipedia.page()の引数にキーワードを入力するだけです

# coding: UTF-8

import wikipedia
wikipedia.set_lang("ja")

tohomas_page_result = wikipedia.page("きかんしゃトーマス")

print(tohomas_page_result)

結果

    <wikipediaPage 'きかんしゃトーマス'> </WikipediaPage>

どうやら、WikipediaPageというオブジェクトが生成されるようです
おそらくですが、このtohomas_page_resultに「きかんしゃトーマス」と入力した時の結果が詰まっているのでしょう




wikipediaのページをさらに詳しく見ていく

ではこの
<wikipediaPage 'きかんしゃトーマス'> </WikipediaPage>
にどんなプロパティが詰まっているのか見ていきましょう!

pythonはオブジェクトに対して__dict__を入力すると、そのプロパティ全てが出力されます



コード
    
# coding: UTF-8

import wikipedia

wikipedia.set_lang("ja")
tohomas_page_result = wikipedia.page("きかんしゃトーマス")
print(tohomas_page_result.__dict__)
    
結果
    
{
    'title': 'きかんしゃトーマス', 
    'original_title': 'きかんしゃトーマス', 
    'pageid': '691439',
     'url': 'https://ja.wikipedia.org/wiki/%E3%81%8D%E3%81%8B%E3%82%93%E3%81%97%E3%82%83%E3%83%88%E3%83%BC%E3%83%9E%E3%82%B9'
}
    
このように、プロパティとその値が全て入っています

しかし、これだけだとまだよくわかりませんね...
大人しくドキュメントを読みますか...
wikipedia apiのドキュメントリンク



tags

python
Scraping
wikipedia

popular page

プログラミング言語の学ぶ順番について(初心者から中級者へ)後編

Pythonで入門書が終わった後(中級者)に勧めたい技術3選

urllibとbeautifulSoupでtwitterのツイート数,フォロー数,フォロワー数,いいね数,を取得する

another page

wikipeidaからwordcloudを作成する(pythonで情報収集)前編

Pythonで入門書が終わった後(中級者)に勧めたい技術3選

ツイッターの自動的なフォローをpythonとseleniumで!(RPA)

CONTACT ME RIGHT NOW!

Lorem Ipsum is simply dummy text of the printing and typesetting industry. Lorem Ipsum has been the industry's standard dummy text ever since the 1500s.

5th Avenue, 987
38399, New York,
USA.

Tel. 9888-4394
Mail. hello@example.com
Skype. ExampleSkype

Your message has been sent. Thank you!

© Copyrights Studio. All Rights Reserved

Created with Studio template by TemplateMag
/* フッター/コピーライトのスタイル指定 */ footer { padding: 40px 16px; } footer .copyright small { color: #868686; font-size: 1.4rem; font-family: "Ubuntu Condensed", sans-serif; letter-spacing: .05em; }