よちよちpython

独習 python/Qpython/Pydroid3/termux/Linux

【Wikipedia】PythonでWikipedia検索とコンテンツを取得するライブラリ

PythonWikipediaのキーワード検索とコンテンツを取得するライブラリをみつけたので使い方をメモしておきます。

インストール

$ pip install wikipedia

など環境に合わせた方法でインストール。

使い方

ネットに接続してから実行します。

使用言語を設定

検索キーワードの言語を設定します。

# インポート
import wikipedia

# 使用言語の設定
wikipedia.set_lang("jp")

これで日本語で検索すれば日本語の結果やページが取得できるようになる。
これを省くと無関係なページが出てきたりする。

キーワード検索

キーワードを与えると関係項目が上位10個リストで返る。

# 検索
wikipedia.search("パワーシェル")
['PowerShell',
 'アダム・シェル',
 '昭和シェル石油',
 'マイティ・モーフィン・パワーレンジャー',
 'ロイヤル・ダッチ・シェル',
 'フラッター・エンターテインメント',
 'トヨタ・アルファード',
 '出光興産',
 'SoltyRei',
 'アラバマ大学']

石油会社などもでてきている。



ページ取得

キーワードを項目とするページの取得ができる。

wikipedia.page("PowerShell").content
'PowerShell(パワーシェル)は、マイクロソフトが開発した拡張可能なコマンドラインインターフェイス (CLI) シェルおよびスクリプト言語である。オブジェクト指向に基づいて設計されており、.NET Framework (Windows PowerShell 5系以前) あるいは.NET Core (PowerShell Core 6系以降) を基盤としている。\nかつてはMicrosoft Shell(MSH、コードネーム Monad)と呼ばれていた。\nWindows 7以降のオペレーティングシステム (OS) には標準で搭載されている。\n\n\n== 歴史 ==\nマイクロソフトによるOSにはMS-DOSからWindowsに至るまで、どのバージョンにもコマンドラインシェルが付属した。それは、かつてはCOMMAND.COMであり、Microsoft Windows NTベースの製品においてはcmd.exeであった。これらのツールはグラフィカルユーザインタフェース (GUI) で提供されるような管理機能の自動化や再利用に必ずしも長けているとは言えなかった。これはコマンドライン内の制限によるものであり、マイクロソフトが高品質なコマンドラインツールを提供しなかったためでもあった。\nマイクロソフトはコマンドラインツールの短所を補うものとして、1998年にWindows 98でWindows Script Host (WSH) を提供した。これは様々なスクリプト言語を実装するための新しいソフトウェアであった。しかしWSHはシェルに統合されていないという欠点があり、ドキュメントも非常に使いにくいものだった。またWSHの持つセキュリティ上の欠陥をつくコンピュータウイルスがいくつか出現したため、システム上の脆弱性とみなされたこともあり、広く普及するには至らなかった。\nそして2003年、マイクロソフトはWindowsや自社製品のシステム管理・自動化を行うための新世代シェルとして、またスクリプトとして実行可能なプログラミング言語としてMonad(後の PowerShell)を発表した。\n2015年9月現在、Windows PowerShellの正式な最新バージョンは5.0であり、Windows 10に標準搭載されている。Windows 8.1に標準搭載されているバージョンは4.0、Windows 8に標準搭載されているバージョンは3.0、Windows 7に標準搭載されているバージョンは2.0となる。\n2016年8月には、PowerShellのオープンソース化、並びにLinuxとOS Xへの移植が発表された。これは同年6月にリリースされたオープンソースの.NET Coreに続くものとなった。\n\n\n== 変遷 ==\n\n\n=== Windows PowerShell ===\n\n\n==== Windows PowerShell 1.0 ====\n2003年9月、コードネーム Monadが公開された。2006年4月、正式名称がWindows PowerShellとなることが発表され、リリース候補 (RC) 1がリリースされた。2006年9月、RC2リリース。\n2006年11月、Windows PowerShell 1.0がウェブ上でリリースされた (RTW)。動作には .NET Framework 2.0を必要とする。2007年1月、PowerShell 1.0 for Vistaがリリースされた。\nマイクロソフトはこれからの主なGUIツールはPowerShell上に構築されると表明し、主な管理機能がスクリプト可能になるとした。例えば、Exchange Server 2007の管理ツールはPowerShellの上に構築されている。多くの日常的な場面でPowerShellはcmd.exeやWSHを置き換えるものとして利用できる。\n\n\n==== Windows PowerShell 2.0 ====\n2009年10月リリース。\n\n\n==== Windows PowerShell 3.0 ====\n2012年9月リリース。動作には.NET Framework 4を必要とする。\n\n\n==== Windows PowerShell 4.0 ====\n2013年10月リリース。動作には.NET Framework 4.5を必要とする。\n\n\n==== Windows PowerShell 5.0 ====\n2015年12月リリース。動作には.NET Framework 4.5を必要とする。\n\n\n==== Windows PowerShell 5.1 ====\n2016年8月リリース。Windows 10 Anniversary Update及びWindows Server 2016の標準バージョン。\nWindows PowerShell 5.1はDesktopとCoreの2つのエディションを提供する。Desktop Editionは従来どおりのWindows PowerShellで、Core EditionはNano Serverで実行するために、.NET Core上に構築され、いくつかの機能が削減されている。\n\n「◎」標準搭載、「○」インストールして利用可能、「→」上位バージョン標準搭載、「×」利用不可\n\n\n=== PowerShell Core ===\n\n\n==== PowerShell Core 6.0 ====\n2016年8月、オープンソース化、Linux/OS Xへの移植を発表。\n2018年1月、PowerShell Core 6.0リリース。ランタイムとして.NET Frameworkに代わり.NET Core 2.0を使用する。これによりPowerShell Core6はWindows、macOS、Linuxで動作が可能になった。\n\n\n==== PowerShell Core 6.1 ====\n2018年9月、PowerShell Core 6.1リリース。\nWindows 10およびWindows Server 2019との互換性強化、サポートプラットフォームの強化が図られている。.NET Core 2.1を使用する。\n\n\n==== PowerShell Core 6.2 ====\n2019年3月、PowerShell Core 6.2リリース 。\n\n\n==== PowerShell 7.0 ====\n2020年3月、PowerShell 7.0リリース 。.NET Core 3.1を使用する。\n\n\n== 基本的な概念 ==\nPowerShellはオブジェクト指向言語であり、基本的な機能をもつ様々なコンポーネントを組み合わせたタスクによって構成される。コンポーネントは、コマンドレット (cmdlet) と呼ばれるプログラムであり、その実体は.NETのクラスである。\nコマンドレット間でのデータの受け渡しは、古典的なUNIX型アプローチ(テキスト入出力をパイプする)とは異なり、オブジェクト(構造化されたデータ)で行なわれる。コマンドラインから個別にアクセスされた場合、コマンドレットの出力は自動的にテキストに変換されるが、出力が他のコマンドレットに渡されるのであれば、そのコマンドレットの入力として最も適切な形式に変換され、渡される。これにより、UNIX型システムで一般的なテキスト処理ユーティリティ(grepやawkなど)が不要となり、インタラクティブに、またはスクリプト環境(より複雑なプログラミング言語が必要)の中で、様々なコマンドレットを結合することができる。例えば、プロセスの一覧を出力する場合、それらは単なるテキストの一覧ではなく、プロセスの情報を表すオブジェクトの一覧である。従ってそれらのオブジェクトに対して、明示的に外部の構造やライブラリを使用することなく、直接的にメソッドを適用することができる。\n\n\n== 特長・機能 ==\nWindows PowerShell/PowerShell Coreには次の機能が含まれる。\n\nオブジェクト指向言語である\nパイプを使える\nオープンソースである(PowerShell Core)\n既定の文字コードは、Windows PowerShellはShift-JIS(日本語環境の場合)、PowerShell CoreはUTF-8である\nスクリプト言語。ハッシュテーブル、正規表現によるswitch文、配列のスライシング、匿名メソッドなどの機能。ループ構文 (for、foreach、while)、条件文 (if、switch)、変数のスコープ (global、script、local)、関数の定義などがサポートされる。\nユーザがエラー処理方法などといった共通の設定を指定するため、コマンドレットは一定のオプションを継承する。副作用のあるコマンドレットは-WhatIf、-Confirmオプションをサポートする。-WhatIfは何が起こるかをユーザに通知するが、実際には何も行わない。-Confirmは何が起こるのかユーザに通知し、実行するかどうか確認を求める。\nエラー処理を制御するオプションに「一時停止」機能がある。これは、ユーザが新しいコマンドシェルに入ることで問題を分析し、もとのコマンドに復帰できるようにするというものである。こうした状況で表示されるプロンプトをユーザが定義することもできる。\n拡張可能な「プロバイダ」モデルにより、ファイルシステムなどの階層的データ構造の処理をすることができる。例えば、PowerShellにはシステムのレジストリにアクセスするレジストリプロバイダが存在する。これを用いれば、例えばシェルプロンプトで次のようなコマンドを打つことによってレジストリの内容を表示することができる。dir HKLM:SOFTWARE\\Microsoft\n\nPowerShell には認証ストア、環境変数、シェル機能とエイリアスなどのプロバイダが存在する。プロバイダモデルはコマンドレットと同様に拡張可能であり、第三者が独自のプロバイダを作成してPowerShellに組み込むことができる。「実行ポリシー (execution policies)」という概念により、PowerShellによるスクリプトの実行に対して大まかなセキュリティ上の制約を課すことができる。実行ポリシーはPowerShellが設定ファイルを読み込み、スクリプトを実行するための制約を定義する。Restricted、AllSigned、RemoteSigned、Unrestrictedという四つの実行ポリシーが存在する。\nスクリプト作成者の識別や、スクリプトの安全性の保証のため、デジタル署名によってスクリプトに署名することができる。\n通常、コマンドラインオプションは省略せずに完全な英単語を用いるが、曖昧でない範囲で文字数を小さくすることができる。例えば、-show-detailed-informationオプションは他に「s」で始まるオプションがなければ-sと指定することができる。\nユーザ定義のタブ補完機能が利用できる。Windowsのcmd.exeはファイル名やディレクトリ名しか補完できなかった。\nコマンドの出力を変数に代入することができる。この変数はオブジェクトやオブジェクトの配列であり、後に任意の方法で処理することができる。\nPowerShellの文が可変長個数のオブジェクト返す場合、既定値では0個の場合は$nullが、1個の場合はオブジェクトが、2個以上の場合はオブジェクトの配列を返す。明示的に配列を返したい場合は "@()"で文をくくる。この考慮が洩れると次の例のように一見予想外の挙動をする。\n\n\n== 使用例 ==\n「p」で始まるプロセスを全て停止する。\n1000MB以上のメモリを占有するプロセスを検索し、停止する。\nディレクトリ中に含まれる全ファイルの合計サイズを計算して出力する。\n文字列に含まれる小文字を大文字に変換した文字列を作る。\n"internal"という文字列の5文字目の直後に"natio"という文字列を挿入し、結果として"international"を得る。\n指定したRSSフィードをダウンロードし、最新の8エントリーのタイトルを表示する。\n変数 $UserProfile に環境変数 UserProfile の値を代入する。\n\n\n== 脚注 ==\n\n\n=== 注釈 ===\n\n\n=== 出典 ===\n\n\n== 参考文献 ==\nPayette, Bruce『Windows PowerShell イン アクション』株式会社クイープ訳、ソフトバンククリエイティブ、2007年。ISBN 978-4-7973-3736-5。\nHolmes, Lee『Windows PowerShell クックブック』監訳:マイクロソフト株式会社 ITプロ エバンジェリストチーム, 訳:菅野良二、オライリー・ジャパン、2008年、初版。ISBN 978-4-87311-382-1。\n\n\n== 外部リンク ==\nPowerShell ドキュメント\nPowerShell - GitHub\nPowerShell スクリプト - Microsoft Docs\nPowerShell Team Blog - PowerShell開発チームによるブログ(英語)\nWindows PowerShell徹底解説 - 日経 xTECH'

PowerShell」の日本語のページが表示された。
英語などのページを取得したければ使用言語の設定を変更する。

# 言語設定(英語)
wikipedia.set_lang("en")

# ページ取得
#wikipedia.page("PowerShell").content

長いのでコメントアウトで非表示にした。



簡単ですね。
以上です。