自宅PCからエックスサーバーのWordPressデータベースにPythonで接続する方法

この記事では、自宅PCなどエックスサーバー外部のPythonから、エックスサーバーにあるWordPressのデータベースへ接続する方法を解説します。

たとえば、Pythonでスクレイピングしたデータを、WordPressの独自テーブルに書き込んで表示させることも可能になります。

接続にはエックスサーバーのSSH機能を使いますが、設定はそれほど難しくありませんのでご安心ください。

接続の手順

エックスサーバーでSSH設定をする

まずは、エックスサーバーの「サーバーパネル」にログインし、SSHを有効にします。
次に「公開鍵認証用鍵ペアの生成」を行います。

詳しい設定手順は、エックスサーバーの公式マニュアルを参考にしてください。

※このとき設定する「パスフレーズ(任意の文字列)」は後で使うので、忘れないようにメモしておきましょう。

生成された秘密鍵ファイル(.key)は、Windowsの任意のフォルダに保存しておきます。

WordPressのデータベースに独自テーブルを作成

続いて、WordPressで使用中のデータベースに独自テーブルを追加します。
エックスサーバーの「サーバーパネル」から phpMyAdmin を起動します。

データベース名・ユーザー名・パスワードなどは、WordPressの wp-config.php に記載されています。

今回は例として「wp_test」テーブルを作成し、次のカラムを用意します。

  • ID(主キー、自動採番)

  • name(商品名)

  • color(色)

  • stock(在庫数)

Pythonに必要なモジュールをインストール

Pythonからデータベースに接続するには、次の2つのモジュールをインストールします。

Pythonコード

では先ほど作成したテーブルにレコードを挿入するコードです。

  • 汎用性を持たせるため、 xserverDB_Connection() という関数にまとめています。

  • サーバーIDや秘密鍵のパスなどは、ご自身の環境に合わせて書き換えてください。

  • 秘密鍵ファイルのパスは、ファイルを右クリックして「パスのコピー」から取得できます。

⚠ サーバーIDは「アカウントID」とは異なるので注意してください。

実行結果

以下のように、無事エックスサーバーのデータベースにレコードが挿入されました。