【Python】WordPress管理画面をスクレーピングして集計、Streamlit Cloudで公開する方法

※ 当サイトではアフィリエイト広告を利用しています。リンクは広告リンクも含みます。

この記事は約3分で読めます。

WordPressでテーマCocoonを使用している場合、管理画面で記事ごとのアクセス数が表示されています。この値をスクレーピングして取得。Pythonのpandasで処理し結果をcsvファイルで出力。そのcsvファイルをStreamlit Cloudでパラメータ操作できる表やグラフで公開する手順になります。
スクレーピングではなく直接データベースから取得する方法(テーマCocoonの場合)

【WordPress】テーマCocoonの集計結果を取り出す方法【Python】【phpMyAdmin】
WordPressのテーマCocoonでは記事ごとにアクセス数がわかります。管理画面やログインしていると表示されます。そのデータが、どこにあるか分かったので、取り出してPythonで集計する方法をご紹介します。JupiterNotebook…

必要な知識
Pythonの基本、ライブラリSelenium、BeatifulSoup、pandasの基本、Git、GitHubの基本

必要な環境
Pythonが動く環境、エディタ(VSCodeなど)
私の場合Windows11、PythonはAnacondaをインストールしてJupiterNotebookで開発。エディタとしてVSCode併用。

プログラム概要
WordPress管理画面をスクレーピングして集計、公開

 ↓↓↓↓↓↓ 
イチゲブログ集計結果、これを作ります!

詳細はこちらのZenn本に書きました。

何かあったら大変なので、ご自分のサーバーのバックアップ方法について調べてからやりましょう。

お名前ドットコムのバックアップ方法(初心者向け)
せっかく記事書いたのに消えたりしない?設定いろいろいじって訳が分からなくったときどうする?バックアップて何?という初心者の方が安心できる簡単なバックアップ方法についての記事です。特にお名前.comでレンタルサーバー借りてる初心者向けです。移…

以下、本の抜粋になります。

広告
MINISFORUM日本公式ストア

WordPress管理画面

私はテーマCocoonを使っています。Cocoonしか使ったことがないので他の管理画面がどうなっているかわかりません。そのほか管理画面に関係ありそうなものとしてプラグインがありますが。私が入れているものを、こちらで紹介しています。少ないです。

WordPressブログ、テーマCocoon高速化!Flying Scripts by WP Speed Matters他
PageSpeed Insightsのモバイル(携帯電話)のスコアが30ぐらいだったものを50~70台まであげることができました。デスクトップは80~90台。ちょっと微妙な数字ではありますが、これ以上チューニングすると今はよくても何かのきっ…

注意点

  • コードを理解してから実行してください。
  • あくまで私のブログで、うまくいった方法なので、設定等の違いにより思わぬ不具合(記事の削除とか)が起きるかもしれませんので自己責任で実行してください。
  • スクレーピングをする対象の利用規約でスクレーピング禁止になっていないか確認してください。例えばYoutubeの場合は禁止になっています。Youtubeの利用規約
    youtub利用規約抜粋 3、自動化された手段(ロボット、ボットネット、スクレーパなど)を使用して本サービスにアクセスすること。
  • サーバーに負荷がかかるため十分、間を置いて必要以上のアクセスをしないようにしましょう。
  • アクセス数の制限のあるレンタルサーバーもあるのでブログで使っているレンタルサーバーにアクセスしすぎると制限されるかもしれません。
  • 管理画面にアクセスしているとはいえ同じドメインなのでロボットによる不正アクセスと認定され検索順位に影響がでるかもしれません。
  • googleアドセンスもロボットによる不正アクセスと認定され広告制限されるかもしれません。
  • JupiterNotebookで実行しユーザーIDやパスワード入力は手動ですることをおすすめします。GitHubにpublicでプッシュするとコードは公開になるので、公開するコードに重要な情報は書かないようにしましょう。
「お客様の AdSense アカウントでの広告配信を一時的に制限しました」のメールが来た!
私のサイトで広告制限がきた状況を都度ご紹介します。最長で広告止められたのは2022/8/27~2022/9/12の17日間。状況に変化があったら絶えず更新していきます。2023年6月28日。久しぶりに制限されました。特に何も変えていないのに…

動作概要

  1. WordPressを立ち上げUserID、パスワード入力してログイン
  2. 投稿をクリック→投稿一覧の1ページ目が表示される
  3. 1ページ目スクレーピング
  4. 次のページへボタンクリック
  5. 2ページ目スクレーピング。以降最終ページまで実行。
  6. 取得したタイトル、URL、公開日、集計値(日 週 月 全)をpandasでデータフレーム化
  7. csvファイルに出力
  8. そのcsvファイルをGitHubにプッシュしてStreamlitで公開

GitHubへプッシュ(アップロード)

Streamlit cloudにデプロイ(公開)するためにはGitHubにプッシュすると自動的にStreamlit Cloudで実行、公開されるようになっています。
こちらを参照し簡単なサンプルをStreamlit cloudにデプロイしてみてください。

【Python】Anaconda+VSCode環境でStreamlit実行方法
Streamlitはpythonの知識だけで簡単なWebアプリが作れます。またPythonで作ったものを公開する場合、1番、楽な方法だと思います。pandasやmatplotlibの出力結果も簡単に表示できます。この記事はAnacondaが…

この記事を書いたイチゲを応援する
Vプリカでのお支払いがおすすめです。
MENTAやってます(ichige)

コメント

タイトルとURLをコピーしました