初心者でも絶対出来る自作ブラウザ[Python]第4章 ブラウザ表示

2021年1月23日

こんにちはショウです

今日はブラウザを1から作ってみたいシリーズの第4弾のブラウザ表示です
今回も初心者でも絶対できるように細かく説明していきます

このシリーズを読んでいけば以下のことができるようになります

  • 仕様検討
  • Pythonの環境構築構築
  • Pythonのライブラリの導入方法
  • Pythonでの開発←この記事
  • 自作ブラウザの表示 ←この記事
  • ブラウザのカスタマイズ

前回の記事では Pythonの仮想環境の構築とPyQt5のインストールを行いました

今回の記事を読めばPythonでのWEBブラウザの作成について学べます

ソースコード

早速ソースコードです

import sys
from PyQt5 import QtWidgets
from PyQt5.QtCore import QUrl
from PyQt5.QtWidgets import QApplication
from PyQt5.QtWebEngineWidgets import QWebEngineView

#start my_app 
my_app = QApplication(sys.argv) 
#open webpage 
initurl = 'https://www.google.co.jp'

# setting browser
browser = QWebEngineView()
browser.load(QUrl(initurl))        
browser.resize(1000,600)
browser.move(100,100)

browser.show() 
#sys exit function 
sys.exit(my_app.exec_())

importとfrom import

importはモジュールを使用する際に行う宣言となります
この宣言を行うことで、プログラム中で使用できるようになります

簡単に説明すると、sysで定義されている機能を使います!!と言っている感じです

from importはソースコードを省略するための仕組みです

例えばPyQt5のQtCoreで定義されているQUrlというモジュールを使用する場合は普通PyQt5.QtCore.QUrl()と記述します
しかし先にfrom PyQt5.QtCore import QUrlと記述しておけば、QUrl ()で使用することができます

import sys
from PyQt5 import QtWidgets
from PyQt5.QtCore import QUrl
from PyQt5.QtWidgets import QApplication
from PyQt5.QtWebEngineWidgets import QWebEngineView

ライブラリとは繰り返し使う機能などを単体で作成しておき、いろんなアプリで使いまわすための仕組みです

車に例えると
完成する車がアプリで、組み立てに必要なタイヤやエンジン等の部品がライブラリです

アプリケーションの起動

初めにQApplication()で自分のアプリを定義します
次にiniturlに起動時に開くURLを記述します
サンプルではグーグルのページを指定しています

#start my_app 
my_app = QApplication(sys.argv) 
#open webpage 
initurl = 'https://www.google.co.jp'

ブラウザの設定

起動するブラウザの設定です
browser = QWebEngineView()でブラウザを作成します
browser.load(QUrl(initurl))で作成したブラウザに表示するページのURLを設定しています
browser.resize(1000,600)でブラウザの初期サイズを設定します
ここでは1000×600のサイズのウィンドウで表示します
browser.move(100,100)でブラウザの初期表示位置を設定します
ここでは画面左上から下に100、右に100の位置に表示します

# setting browser
browser = QWebEngineView()
browser.load(QUrl(initurl))        
browser.resize(1000,600)
browser.move(100,100)

ブラウザの表示と終了

browser.show() でブラウザを表示します
ユーザがブラウザを閉じるとbrowser.show()から抜けてsys.exit(my_app.exec_())で終了します

browser.show() 
#sys exit function 
sys.exit(my_app.exec_())

作成したプログラムの実行

作成したプログラムをファイルとして適当なフォルダに保存します
拡張子は「.py」としてください

Anaconda Promptを起動します
開発用の仮想環境を有効かして、保存したファイルを指定してください

Anaconda Promptや仮想環境の有効化が分からない方は前回の記事を参考にしてください

https://sho10case.com/programingschol-1-3-browser/

実行結果

ここでは、仮想環境で作成したbrowserフォルダ内にbrowser.pyというファイルを保存して実行します

見事ブラウザが表示されました

もちろん検索もできます

まとめ

今日は、Pythonでのブラウザの表示でした
どうでした?意外と簡単じゃなかったですか?

今回のポイントはライブラリを使用したことです
ライブラリを使うことで開発にかかる時間が大幅に削減できます

世界中ですごい人たちが便利なライブラリを作ってくれているのでどんどん使わせてもらってアプリを作成していきましょう

ライブラリの実装がきになる方は、ソースがGitHubにアップされてることが多いので参考にしてみてください

Gitについては下記の記事を参考にしてください

https://sho10case.com/version-control/

次回からは作成したブラウザをカスタマイズしていきます

質問や相談あればドシドシご連絡ください!!
こんなの作ってみたい等の依頼も募集してますよ~