2024-02-18

QWebEnginePage から HTML ソースを取得する(改) ~ PySide6

PySide (Qt for Python) は、Qt(キュート)の Python バインディングで、GUI などを構築するためのクロスプラットフォームなライブラリです。Linux/X11, macOS および Microsoft Windows をサポートしています。配布ライセンスは LGPL で公開されています。

以前、当ブログで紹介した、QWebEngineView で表示したサイトの HTML を取得するサンプル [1] について、より簡単な方法が判ったので改定します。

今回のテーマ
  • QWebEngineView で読み込んだ URL は、QWebEnginePage に表示されますが、ここに表示されたウェブサイトの HTML のソースを取得します。[改訂版]

なお、本サンプルで使用しているウェブサイトは、下記を利用しています。

下記の OS 環境で動作確認をしています。

Fedora Workstation 39 x86_64
Python 3.12.1
PySide6 6.6.2

サンプルを以下に示します。このサンプルは、指定した URL を表示して、そのソースを標準出力するという単純なものです。

HTML ソースの内容取得には、QWebEnginePagetoHtml メソッドを利用しています。当初、マニュアル(参考サイト [3])でこのメソッドの説明を読んでも使い方がピンとこなかったので、用法の追求を後回しにしてしまいました。

qt_webenginepage_2.py

このサンプルの実行例を以下に示しました。

qt_webenginepage_2.py の実行例

表示された HTML の内容が標準出力されます。

qt_webenginepage.py の出力例
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head>
<html xmlns="http://www.w3.org/1999/xhtml"><head>
<!-- Google tag (gtag.js) -->
<script type="text/javascript" async="" src="https://ssl.google-analytics.com/ga.js"></script><script async="" src="https://www.googletagmanager.com/gtag/js?id=G-ZML74SB67X"></script>
<script>
  window.dataLayer = window.dataLayer || [];
  function gtag(){dataLayer.push(arguments);}
  gtag('js', new Date());

  gtag('config', 'G-ZML74SB67X');
</script>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<meta http-equiv="Content-Style-Type" content="text/css">
<meta http-equiv="Content-Script-Type" content="text/javascript">
<meta name="keywords" content="パンダ,ジャイアントパンダ,上野パンダ,上野動物園,上野,保護,サポート基金,ZOONET">
<meta name="description" content="東京動物園協会の運営する「UENO-PANDA.JP」は、上野動物園のジャイアントパンダを紹介する公式サイトです。ジャイアントパンダの個体情報をはじめ、上野動物園へのアクセス、開園時間、園内マップ、その他ジャイアントパンダ保護サポート基金等、さまざまな情報を掲載しています。">
<meta name="viewport" content="width=device-width,initial-scale=1.0,minimum-scale=1.0">
<link rel="shortcut icon" href="//www.ueno-panda.jp/favicon.ico" type="image/x-icon">
<link rel="icon" href="//www.ueno-panda.jp/favicon.ico" type="image/x-icon">

<title>上野動物園のジャイアントパンダ情報サイト「UENO-PANDA.JP」</title>
   :
   :
(以下省略)

参考サイト

  1. bitWalk's: QWebEnginePage から HTML ソースを取得する ~ PySide6 [2024-01-08]
  2. QWebEngineView - Qt for Python
  3. QWebEnginePage - Qt for Python

 

ブログランキング・にほんブログ村へ bitWalk's - にほんブログ村 にほんブログ村 IT技術ブログ オープンソースへ
にほんブログ村

オープンソース - ブログ村ハッシュタグ
#オープンソース



このエントリーをはてなブックマークに追加

0 件のコメント: