本ページはプロモーションが含まれています

【Python】ブラウザを起動しWebサイトを表示する方法(webbrowserモジュール)

Pythonスクレイピングモジュール

Python標準組み込みモジュールのwebbrowserは、ブラウザを制御してWebサイトを表示することができます。本記事では、このモジュールの使い方についてまとめます。

スポンサーリンク

確認した環境

  • Ubuntu16.04LTS, Ubuntu20.04LTS
  • Python3.9.7

ブラウザを開いてWebサイトを表示する

まず、webbrowserモジュールをインポートします。
標準の組込みモジュールなので新たにモジュールをインストールする必要はありません。

import webbrowser

open() メソッドを用いて指定したURLのページをブラウザで開くことができます。
表示が正常に完了するとTrueを返します。
尚、後述するget()でブラウザを指定しない場合は、自身の環境のデフォルトブラウザが適用されます。
使い方は以下です。

webbrowser.open(url, new=0, autoraise=True)
  • 第1引数 url: 表示するWebサイトのURLを設定します。
  • 第2引数 new: 表示モードを設定。下表参照
  • 設定値 動作
    0(デフォルト) 今までと同じウインドウで開く
    1 新しいウインドウ
    .open_new()メソッドと同じ動作
    2 新しいタブ
    .open_new_tab()メソッドと同じ動作
  • 第3引数 autoraise: Trueの場合は可能であればウィンドウが前面に表示されます(環境による)

具体的な例を以下に示します。

>>> import webbrowser

>>> url = "https://www.google.com"

# デフォルトブラウザ(筆者の環境ではChrome)でWebサイトを開く
 >>> webbrowser.open(url)
True

# 新しいウインドウで開く
>>> webbrowser.open(url, 1)
True

# 新しいタブで開く
>>> webbrowser.open(url, 2)
True

ブラウザを指定する

get() メソッドは、引数で指定したブラウザのコントローラオブジェクトを返します。
※デフォルト設定(=None)の場合は、現在の環境のデフォルトのブラウザコントローラを返します。

# デフォルト設定
>>> webbrowser.get()
<webbrowser.Chrome object at 0x7f70e5c53240>

# ブラウザを指定(例えばFirefox)
>>> webbrowser.get('firefox')
<webbrowser.Mozilla object at 0x7f70e5c531d0>

指定できるブラウザは、公式リファレンスの表 をご参照ください。
また、自分の環境にインストールされているブラウザを調べるには、下記の記事をご参照ください。
<参考記事>【Ubuntu】 インストールされているブラウザを調べる

尚、自分の環境に入っていないブラウザを指定すると、webbrowser.Errorが送出されます。

# 現在の環境に入っていないブラウザを指定するとエラー
>>> webbrowser.get('safari')
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "/home/hibikisan/anaconda3/envs/python3.7/lib/python3.7/webbrowser.py", line 65, in get
raise Error("could not locate runnable browser")
webbrowser.Error: could not locate runnable browser

ブラウザ種類を指定してWebサイトを開くには、このget()の戻り値であるコントローラオブジェクトに対して、open()を呼び出します。
具体例を下記に示します。

# ブラウザを指定(この場合はFirefox)
>>> webbrowser.get('firefox').open(url)
True

# デフォルト設定(冗長ですが)
>>> webbrowser.get().open(url)
True

まとめ

Pythonの標準組み込みモジュールのwebbrowserを使ってWebサイトを開く方法についてまとめました。必要に応じてブラウザの種類も指定できます。

参考書籍

書籍でもう少し詳しく学びたい場合はこちらもどうぞ。筆者もかなり参考にさせてもらっています!

シェアする
ひびきをフォローする
Hbk project