2019年1月28日スポンサーリンクこんにちは、Brownです。前回このような記事を書きました。こんにちは、Brownです。先日、以下のようなツイートをしました。Brownとして公表できるポートフォリオサイトが2...これら二つのサイトを作成するにあたり、開発の中で「スクレピング」という技術を使いました。WordPressを使ったサイトでスクレイピングができると非常に便利なので、ノウハウを残しておきます。今回は、WordPressを使ってガチスクレイピングプラグインを開発する方法をまとめます。値を取得してみる取得した値の確認まとめスポンサーリンクスクレイピングについて知ろうスクレイピングとは何かスクレピングとは、他のWebページからHTMLソースを文字列として取得し、その文字列を整形したり計算したりして、自分のサイトに埋め込むことです。こちらのサイトに詳しいスクレイピングの説明があります。あるサイトから株価を取得し計算して自分のサイトに埋め込んだり、ランキングサイトの1位の情報を1日ごとに取得して情報をまとめるなど、便利なことができてしまいます。スクレイピングを禁止するサイトもあるしかし、上記の詳しいスクレイピング説明記事にもある通り、全てのサイトがスクレイピングを許しているわけではないので、スクレイピング対象とするサイトの利用規約などはしっかり読み込む必要があります。WordPressでスクレイピングする準備まずはプラグインの作り方を知る今回はプラグインでの開発を前提にして話を進めます。functions.phpを直接編集することでもスクレイピングは可能ですが、おすすめできませんので、この機会にプラグイン開発を覚えてみていはいかがでしょうか。functions.phpを編集するスキルがあればあとはプラグイン開発の手順さえ知れば、プラグイン開発は可能です。【画像多め】WordPressのプラグインの作り方【初心者OK】WordPressサイトを運営していると、functions.phpファイルを編集する機会があると思います。functions.phpを直接編集してしまうと、テーマを変えたい時に少し不便です。当サイトではfunctions.phpファイルを直接編集するのではなく、機能ごとにプラグインを作ることを推奨していきます。...まずはスクレイピングセットを作るそれでは手順を説明していきます。スクレイピングセットを作ります。新規フォルダを作成してください。その中に「phpQuery-onefile.php」というファイルを入れます。「phpQuery-onefile.php」はこちらのサイトからダウンロードすることができます。新規テキストファイルを作成し、拡張子をphpとしてください。中身は必要事項を記載しておいてください。(以下の記事に詳細を書いています。)【画像多め】WordPressのプラグインの作り方【初心者OK】WordPressサイトを運営していると、functions.phpファイルを編集する機会があると思います。functions.phpを直接編集してしまうと、テーマを変えたい時に少し不便です。当サイトではfunctions.phpファイルを直接編集するのではなく、機能ごとにプラグインを作ることを推奨していきます。...画像のようになります。こちらでセットを販売しています。準備が手間な方はこちらからご購入ください。※準備の手数に価値を付与しております。圧縮してアップロードするフォルダをzip形式に圧縮してください。WordPressのプラグイン⇒新規追加⇒プラグインのアップロードを選択し、作成したzipをアップロードします。ファイルを選択したらインストールし、プラグインを有効化します。ブラウザ上から編集してみるWordPressのプラグイン⇒プラグイン編集を選択し、右上のプルダウンでアップロードしたzipファイル名を選び、「選択」ボタンを押下すると、先程作成したフォルダの中身が表示されていると思います。何か適当にテキストを編集してみて「ファイルを更新」ボタンを押下することで、プラグインの中身を編集することができます。「取得イベント発行契機」「取得した文字列を表示する画面」を作成まずは「取得イベント発行契機」と、「取得した文字列を表示する画面」を作成します。「取得イベント発行契機」作成これは簡単ですので、コピペしていただければと思います。Button','TSTBTN','manage_options','tst_setting','add_manual_page','dashicons-align-left');}ここまで記述してファイルを更新すれば、管理画面左のメニュー一覧に「TSTBTN」というボタンが表示されます。これで、「取得イベント発行契機」(スクレイピングの発生ボタン)を作成することができました。「取得した文字列を取得する画面」の作成これは特に作成する必要はありません。管理画面左のメニュー一覧に「TSTBTN」というボタンを押下すれば、新しいページに遷移するようになります。実際に外部サイトから株価を取得してみる今回は例として、株価を取得してみます。ライブラリを使う宣言をするまずはこのようにソースコードを記述します。(上記の下に追加する形です。require_once("phpQuery-onefile.php");}これでスクレイピングができる状態になりました。今回は以下のサイトからHTMLソースを取得します。Yahoo!ファイナンスこの値を取得します。適当な場所で右クリックし「ページのソースを表示」しタグを確認します。ソースを見てみると、株価の箇所は以下のように表示されます。class="stoksPrice">20,773.56</td>「stoksPrice」というクラス名を持っているようです。「stoksPrice」という文言でソース内を検索すると、以下のように合計2件ヒットしました。今回取得したい株価は2件目に表示されています。このことは覚えておきましょう。値を取得してみる取得の方法もシンプルです。以下のようにプラグインの方にコードを追加します。phpQuery::newDocument($html)->find(".stoksPrice:eq(1)")->text();※このようにphpQuery-onefile.phpを使ったスクレイピング方法は、調べればたくさん出てきます。任意の文字列が取得できるように調べてみてください♪このように記述すると、株価が取得できます。これを表示するソースコードを記述します。$html;これでOKです!この状態でプラグインファイルを更新し、早速「TSTBTN」ボタンを押下して確認してみましょう。「TSTBTN」ボタンを押下して表示された画面確認してみましょう。このように、株価を取得することができました。スポンサーリンクまとめWordPressを使ったスクレイピングの方法をまとめました。流れはイメージできましたでしょうか。取得した値を整形して記事を投稿するようなモジュールを作成しておけば、記事を書く手間が省けそうですよね。Goodizerサイト「DayPlus」と「U-RanJP」を開発しました【超簡単】WP-CrontrolとIFTTTで関数を定期実行する方法サイト内を検索Brown利他主義をモットーにお役立ち情報をまとめています!ワードプレスやVBA、デザイン関連の情報が多めです。