PHP | Octoparse

PHP | Octoparse

今回は初心者向けにPHPでスクレイピングを行う方法について紹介します。初心者でも簡単なPHPクローラーを作ります。実際にプログラムコードを書いて説明しているので、ぜひ試してみてください!

Webサイトから必要な情報を収集することと言えば、近年流行りのPythonだよね!今回は初心者向けにPHPでスクレイピングを行う方法について紹介します。初心者でも簡単なPHPクローラーを作ります。実際にプログラムコードを書いて説明しているので、ぜひ試してみてください!始める前に、 Webスクレイピング とWebクローラーの概要を説明します。

Webスクレイピング とは、WebページのHTML内から情報を抽出することです。詳しくは こちらの記事 をご参照ください。

Webクローラー とは、一般的にWeb上を巡回してWebサイトの情報を収集するボットプログラムのことを指します。詳しくは こちらの記事 をご参照ください。

Webページに入力ボックスと送信ボタンを追加します。入力ボックスにWebページのURLを入力できます。

データを抽出するときには正規表現が必要です。

function preg_substr($start, $end, $str) // Regular expression

$temp = preg_split($start, $str);

$content = preg_split($end, $temp[1]);

データを抽出するときは文字列分割が必要です。

function str_substr($start, $end, $str) // string split

$temp = explode($start, $str, 2);

$content = explode($end, $temp[1], 2);

function writelog($str)

$open=fopen(“log.txt”,”a” );

抽出したコンテンツがブラウザに表示されるものと一致しない場合、正しい正規表現を見つけることができません。ここで保存した.txtファイルを開いて正しい文字列を見つけることができます。

画像を抽出したいなら、関数も必要とされます。

function getImage($url, $filename=”, $dirName, $fileType, $type=0)

if($url == ”){return false;}

//get the default file name

$defaultFileName = basename($url);

$suffix = substr(strrchr($url,’.’), 1);

if(!in_array($suffix, $fileType)){

$filename = $filename == ” ? time().rand(0,9).’.’.$suffix : $defaultFileName;

//get remote file resource

curl_setopt($ch, CURLOPT_URL, $url);

curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);

curl_setopt($ch, CURLOPT_CONNECTTIMEOUT, $timeout);

$file = curl_exec($ch);

$file = ob_get_contents();

$dirName = $dirName.’/’.date(‘Y’, time()).’/’.date(‘m’, time()).’/’.date(‘d’,time()).’/’;

if(!file_exists($dirName)){

mkdir($dirName, 0777, true);

$res = fopen($dirName.$filename,’a’);

return $dirName.$filename;

抽出用のコードを書きます。例として、AmazonのWebページを見てみましょう。まず商品のページリンクを入力します。

//———————example——————-

$str = file_get_contents($_POST[‘URL’]);

$str = mb_convert_encoding($str, ‘utf-8’,’iso-8859-1’);

echo(‘Title:’ . Preg_substr(‘/<span id= “btAsinTitle”[^>}*>/’,’/<Vspan>/$str));

$imgurl=str_substr(‘var imageSrc = “’,’”’,$str);

echo ‘<img src=”’.getImage($imgurl,”,’img’ array(‘jpg’));

そうすると、抽出する商品が出てきます。以下はスクリーンショットです。

PythonやJavaScript、PHPなどのプログラミング言語でお仕事にしているプロ級の方にとってはすごく簡単ですが、プログラミングに詳しくない方は練習する必要があります。今では、 Webスクレイピング 技術の開発に伴い、 Webスクレイピングツール が増え、コーディングする必要はもうありません。

例えば、 Octoparse のWebスクレイピングテンプレートを使用すると、ワンタッチでWebサイトからデータを収集することができます。皆さんも使ってみましょう!

競合情報も営業リストも、ウェブデータをそのままExcel・CSV・Google Sheetsに出力

コード不要、誰でも今日から。クリック操作だけで必要な項目を自動抽出

Google Maps・食べログ・iタウンページ向けテンプレートで、リード獲得をすぐに開始

クラウドで毎日・毎週自動実行。大量取得でも安定して、競合動向を常に把握

MCP対応でAIエージェントと連携。収集データをAIに渡して分析・活用まで一気通貫

クレジットカード不要で無料スタート。世界600万人以上が選んだ信頼のツール

Recommended articles