PHP PR

PHPで外部サイトのHTMLを取得してみた!【スクレイピング】

記事内に商品プロモーションを含む場合があります

最近だとPythonでスクレイピングを行うのが、最近のトレンドだと思うけど、あえてPHPで行う!

「PHP スクレイピング」で検索するとだいたい「phpQuery」でする方法が出てくる。
今では全く更新されていないライブラリ(なにより最近のPHPのバージョンでは動作しない)なので、今回は「phpQuery」は使用せず、代わりに「php-html-parser」を使用して実行してみる。

「php-html-parser」を使用してPHPでwebスクレイピング

では早速やっていきます。

「php-html-parser」のダウンロード

こちらから「php-html-parser」をダウンロードします。

「php-html-parser」のダウンロードはこちら

ダウンロードが完了したら、今回使用するファイルは「simple_html_dom.php」のみ。

「simple_html_dom.php」を読み込む

こんな感じで「simple_html_dom.php」を読み込みます。

<?php
    require_once __DIR__ . '/simple_html_dom.php';
?>

外部サイトの特定の場所を取得

classで取得したいところ絞って、foreachでぶん回す感じです。
(htmlは、省略してます)

<?php
	//URLからデータを取得
	$html = file_get_html( 'http://sample.com/' );

	//classから要素取得
	foreach($html->find('.text') as $element){ // .textを取得したclassに変更
	echo $element;
	}
?>

あとはアップするだけで、指定のURLの指定しているclassのHTMLを丸ごと取得できます。

今回はざっくり外部サイトのHTMLを取得してみました。
「php-html-parser」を使えば楽に取得できるのでマジ最高ですね!

ABOUT ME
シラツキ
当ブログは同人サークル「にんじんみるく」のシラツキが運営する個人ブログです。 同人誌即売会の情報やネタ、技術的な内容など様々なコンテンツを配信しています。 普段はwebサイト作ってる人インターネッツお絵かきマン。 Webサイトの制作、ECサイトの運営、ブログ、イラスト制作など色々やってます。 個人でWeb技術ブログ、趣味のブログ、YouTube活動中。

COMMENT

メールアドレスが公開されることはありません。 が付いている欄は必須項目です

日本語が含まれない投稿は無視されますのでご注意ください。(スパム対策)