pythonを使ってwordpressに記事投稿する方法
pythonを使ってwordpressにブログをアップする方法は大きく分けて2パターンあります。
- seleniumを使ってブラウザを自動操作する
- wardpress専用のライブラリを使ってコマンドラインで投稿する
seleniumを使用してブラウザを操作する方法はseleniumの記事を見てもらえれば大体の雰囲気はつかんでいただけると思います。
seleniumとは seleniumについての詳しい解説と基本的な操作方法は関連記事を見てください。 今回の記事はseleniumの使い方を前提知識としてスクレイピングを行う方法を解説しています。 →関連記事:seleniumの基本的[…]
本記事では②のwordpress専用のライブラリを使用して記事を投稿する方法を初心者向けに解説いたします。
python-wordpress-xmlrpcをダウンロードしよう
pipを使用して必要なライブラリをインストールしておきましょう
pip install python-wordpress-xmlrpc
python-wordpress-xmlrpcはpythonでwordpressを操作する為のライブラリです。
python-wordpress-xmlrpcで記事を投稿してみよう
まずは、基本的なコードでwordpressに下書きを投稿してみましょう。
下記のコードのURLとID、パスワードを指定するだけで下書きに保存されているかと思われます。カテゴリーは指定していない場合新規にカテゴリーが作成されます。
from wordpress_xmlrpc import Client, WordPressPost from wordpress_xmlrpc.methods.posts import GetPosts, NewPost from wordpress_xmlrpc.methods.users import GetUserInfo wp = Client('ブログのURL//xmlrpc.php','ユーザーID','パスワード') post = WordPressPost() post.title = "タイトルはtitleで指定します" post.content = "本文はcontentで指定します" post.terms_names = {'category': ["カテゴリーを指定"]} wp.call(NewPost(post))
これだけで簡単にpythonでwordpressに記事を作成できました。
勿論これだけでは実用性はありませんよね。次の項目から実用的に自動でpythonで自動投稿できるコードを紹介いたします。
エクセルのデータからwordpressにブログ投稿しよう
次はエクセルのデータからブログに自動で投稿する方法を解説します。
この記事では簡単に一つのセルからコンテンツを投稿する方法を紹介します。
それでは毎度おなじみのOpenPyXLを使用してセルの値を指定しましょう。
OpenPyXLとは OpenPyXLとはexcelをpythonで操作する為のモジュールで読み書き等が行えます。 データ解析や複雑な処理を行うのはpandasを使うのがベターですが、 スクレイピングしたデータを保存したり、アップロードす[…]
from wordpress_xmlrpc import Client, WordPressPost from wordpress_xmlrpc.methods.posts import GetPosts, NewPost from wordpress_xmlrpc.methods.users import GetUserInfo import openpyxl wp = Client('ブログのURL//xmlrpc.php','ユーザーID','パスワード') wb = openpyxl.load_workbook('エクセルのディレクトリを指定') ws = wb.active post = WordPressPost() post.title = "タイトルはtitleで指定します" post.content = ws['A1'].value post.terms_names = {'category': ["カテゴリーを指定"]} wp.call(NewPost(post))
これでセルA1の値を記事として投稿ができます。
次回の記事では実用編として、スクレイピングしてきたデータからエクセルでブログ記事をHTMLで作成してpython-wordpress-xmlrpcでブログ記事をアップロードする。
半自動ブログ投稿方法を解説いたします。