メディアライフの日記

メディアを活用したライフスタイルの研究・提案に向けて

WordPressサイトにPHPでJSONデータを取得/ウェブスクレイピング

作業中メモ

 

1-1.まずはPHPJSONデータを取得する方法を調べて試す。

phpでjsonデータ取得 - Google 検索

PHPの環境作りから始める

→練習用サイトがそのまま使えた!

サブドメインディレクトリ内にあるJSONファイルを読み込むにはどうしたらいいか

JSONファイルを一旦練習用サイトに移す?→できた

JSONファイルを一旦WordPressサイトに移す?

JSONファイルを一旦ニフクラにインポート?

・サーバ側のアクセス権設定又は認証?APIへ?→サーバ上のJSONファイルはアクセス権が設定されていなかったので、URLで指定できた!

 

 

配列の番号を指定することで、データを取り出す方法はわかった。

PHPでJSONデータの取得の仕方 - Qiita

 

他方、取り出したいデータの配列の番号が分からず、

データに付けられたIDを指定するにはどうしたらよいか?

案1:IDを順に読み込んで、取り出したいID番号と一致するまでループを回す?

その配列番号のデータを取り出す?

案2:データのIDを指定することで、ループを回さずにデータを取り出す。

 

案2の方法が以下の記事に載っていた。

PHP多次元配列、特定キーの値を検索しindexを取得する(ループ不要) - 現役プログラマのWordPressカスタマイズ相談

→できた! ただし、同じIDで複数の値がある場合に、複数の中から選び出す処理が要る。。

 JSONファイル形式が変わらない限り、変更不要。

 

1-2.PHPでウェブスクレイピング

phpでウェブスクレイピング - Qiita

【php】webサイトから、欲しい情報を3行で取得する方法 - Qiita

スクレイピング用の「phpQuery-onefile.php」を所定のディレクトリにあpアップロード

できた!スクレイピングの方が簡単かつ確実かもしれない(?)。

ただし、3つの値がHTML上で連結して表示されているため、文字列の処理が要る

ウェブデザインが変更された時に、PHPコードの変更が必要。。

 

2.次に、WordPress管理画面でPHPコードを埋め込む方法を調べて試す。

 

以下のショートコードを使う?

投稿や固定ページでPHPを実行する | altplus

WordPressの記事内でPHPを実行した結果を表示する方法 | tipLog

WordPressの投稿内で任意のPHPコードを実行できる「ショートコード」を自分で作成する方法と呼び出し方。引数の受け渡しも簡単! | WEMO

→1-2のPHPによるスクレイピングコードをfunction.phpに追記し、ショートコードを定義

→投稿記事内にショートコードを記載することで、1-2のスクレイピングの結果を表示できた!

ただし、投稿記事の中でも、日付フォーマット指定されている入力欄では、ショートコードが反映されなかった。

このやり方だと、IDの分だけショートコードを定義する必要がある

 

入力文字制限を解除する

https://plusers.net/wordpress_custom_post