この記事では、JISAKU-HPでダウンロードできるWebデータ取得プラグインのコードを解説しています。
Webデータ取得プラグインは指定したURLのhtmlデータを取得して、ワードプレス管理画面でのWebデータ取得メニューで表示できるプラグインです。
Webデータ取得プラグインのファイル構成
下記より、Webデータ取得プラグインをダウンロードして「vente_scraping.zip」を解凍してください。
[download id=”3159″]
解凍したフォルダには、下記のファイルがございます。
- functions.php
- scraping.php
- phpQuery-onefile.php
<?php
/*
Plugin Name: Webデータ取得プラグイン
Plugin URI: https://jisaku-hp.jp/
Description: htmlデータを取得できるプラグインです。
Author: 廣本 隆史
Version: 1.0
Author URI: https://jisaku-hp.jp/
*/
function scraping_menu() {
add_menu_page('Webデータ取得', 'Webデータ取得', 1, 'scraping', 'scraping', 'dashicons-building' ,225);
}
add_action('admin_menu', 'scraping_menu');
function scraping() {include 'scraping.php';}
?>functions.phpの2行目から9行目まではプラグインの情報、10行目から14行目はワードプレス管理画面にメニュー表示するコードです。
<textarea style="width:100%; height:500px;">
<?php
require_once("phpQuery-onefile.php");
$html = file_get_contents("https://jisaku-hp.jp/post-2993/");
$text = phpQuery::newDocument($html)->find(".building-box")->html();
for ($i = 2; $i <= 3; $i++) {
$html = file_get_contents("https://jisaku-hp.jp/post-2993/".$i);
$text .= phpQuery::newDocument($html)->find(".building-box")->html();
}
$array = array( ' ', ' ', "\r\n", "\r", "\n", "\t" );
$string = str_replace( $array, "", strip_tags($text) );
$string = str_replace( "マンション名", "\n", $string );
$string = str_replace( array("住所","価格"), "\t", $string );
echo $string;
?>
</textarea>scraping.phpはワードプレス管理画面のメニューに表示するページで、指定したURLの要素のHTMLデータをテキストエリアに表示します。3行目の「require_once(“phpQuery-onefile.php”);」は「phpQuery-onefile.php」のファイルを読み込んでいます。このファイルがphpコードでスクレイピングするために必要です。
4行目の「$html = file_get_contents(“https://jisaku-hp.jp/post-2993/”);」は、スクレイピングするURLを指定しています。この記事のURLを記述していますが、データを取得したいURLに編集してください。
5行目の「$text = phpQuery::newDocument($html)->find(“.building-box”)->html();」は指定したURLのc「.building-box」の要素の中のHTMLを取得して$textに代入しています。
データが多くページ送りで一覧を表示しているサイトでは、6行目から9行目のfor文の繰り返し処理でデータを取得します。ページのURLはサイトごとで異なりますが、適時編集していただき$iには開始する番号を<=には最後のページ番号を記述してください。
10行目から14行目で取得したデータを「str_replace()」で置換しながら「echo $string;」でテキストエリアに表示しています。

取得したデータをエクセルにコピペして「CSV UTF-8(コンマ区切り)(*.csv)」で保存すればcsvファイルが作成できます。
[modal file=modal]
下記以降は取得するデータです
| マンション名 | JISAKU-HPマンション1号棟 |
| 住所 | JISAKU-HP1-1 |
| 価格 | 3,000万円 |
| マンション名 | JISAKU-HPマンション2号棟 |
| 住所 | JISAKU-HP1-2 |
| 価格 | 3,100万円 |
| マンション名 | JISAKU-HPマンション3号棟 |
| 住所 | JISAKU-HP1-3 |
| 価格 | 3,200万円 |

