Python
 Computer >> コンピューター >  >> プログラミング >> Python

PythonのwebbrowserモジュールでWebページを開く方法を徹底解説

PythonでWebベースのドキュメントをユーザーに表示したい場合、標準ライブラリの「webbrowser」モジュールが非常に便利です。このモジュールは、Webドキュメントを扱うための高水準インターフェースを提供しており、数行のコードで簡単にブラウザを操作できます。

UNIX系システムでは lynx や Netscape、Mosaic といったブラウザに対応しており、Windows や macOS では OS 標準のブラウザが自動的に使用されます。

このモジュールを使用するには、まず以下のようにインポートします。

import webbrowser

webbrowser モジュールには、複数のメソッドと例外が用意されています。それぞれ詳しく見ていきましょう。

例外:webbrowser.Error

webbrowser インターフェース内でエラーが発生した場合に送出される例外です。ブラウザの起動失敗など、モジュール操作に関する問題を捕捉するために使用します。

メソッド:webbrowser.open(url, new=0, autoraise=True)

デフォルトのWebブラウザで指定したURLを表示するメソッドです。引数 new のデフォルト値は 0 で、挙動は以下の通りです。

  • new = 0:可能であれば同じブラウザウィンドウで開く
  • new = 1:新しいブラウザウィンドウを開く
  • new = 2:新しいブラウザタブを開く

また、autoraise=True を指定すると、可能な場合にウィンドウが前面に表示されます。

メソッド:webbrowser.get(using=None)

指定したブラウザタイプ(using)に対応するコントローラオブジェクトを返すメソッドです。using が None の場合は、デフォルトブラウザのコントローラを返します。

メソッド:webbrowser.register(name, constructor, instance=None, *, preferred=False)

独自のブラウザタイプ名を登録するためのメソッドです。登録後は get() メソッドを使ってそのブラウザのコントローラを取得できます。パラメータ instance が指定されていない場合、constructor は引数なしで呼び出されます。

あらかじめ定義されているブラウザタイプ

webbrowser モジュールには、いくつかの定義済みブラウザタイプが用意されています。以下は代表的なタイプの一覧です。これらの名前は get() メソッドに渡して使用できます。

No.タイプ名とクラス名
1

'mozilla'

Mozilla('mozilla')

2

'firefox'

Mozilla('mozilla')

3

'netscape'

Mozilla('netscape')

4

'opera'

Opera()

5

'links'

GenericBrowser('links')

6

'lynx'

GenericBrowser('lynx')

7

'safari'

MacOSX('safari')

8

'windows-default'

WindowsDefault

9

'chrome'

Chrome('chrome')

10

'chromium'

Chromium('chromium')

サンプルコード

ここでは、Windowsのデフォルトブラウザを取得し、指定したURLを新しいウィンドウで開く例を紹介します。

import webbrowser as browser

my_browser = browser.get('windows-default')
my_browser.open_new('https://www.tutorialspoint.com')

実行結果

スクリプトを実行すると、Windowsの既定ブラウザが起動し、指定したURLのページが新しいウィンドウで表示されます。

  1. 【初心者向け】Pythonのissuperset()メソッドの使い方をわかりやすく解説

    はじめにこの記事では、Pythonのissuperset()メソッドについて、基本的な仕組みから実際のコード例まで詳しく解説します。issuperset()は、セット(集合)に対して使用できるメソッドで、引数として渡されたセットのすべての要素が、呼び出し元のセットに含まれているかどうかを判定します。呼び出し元のセットBが、引数のセットAのすべての要素を含んでいる場合 → True を返すセットAの要素がすべてBに含まれていない場合 → False を返すつまり、「BがAの上位集合(スーパーセット)であるかどうか」を判定するためのメソッドです。基本構文B.issuperset(A)この式は、Bが

  2. クリップボードの住所からGoogleマップを自動で開くPythonスクリプトの作り方

    Googleマップで特定の場所を調べたいとき、普段はブラウザを開いて検索するのが一般的です。しかし、この作業を1日に何度も繰り返すとなると、かなり面倒に感じるものです。そこで本記事では、この操作を自動化するPythonスクリプトをご紹介します。スクリプトを実行すると、ブラウザが自動的に起動し、指定した場所のGoogleマップがすぐに表示される仕組みです。 準備:pyperclipのインストール このスクリプトでは、クリップボードを扱うために「pyperclip」パッケージを使用します。標準ライブラリには含まれていないため、pipを使ってインストールする必要があります。 >pip inst