CURLでWebページ内の特定の情報を抽出する一般的な方法をまとめました。Webページ内に1つだけある情報を抽出するのは簡単なので、ここでは商品情報や賃貸物件情報など複数の情報がある場合を例にします。CURLでWebページ全体を取得する方法は下記参照。1)抽出するWebページのソースを確認、抽出箇所をチェック一つの商品の単位がどのようなHTMLで記述されているか確認し、どのような正規表現で商品単位に抽出できるか検討します。class=”Level1′′の手前までの</div>までが一つの商品情報の単位となっています。class=”Level2_3′′>の部分までを取得対象とします。</div></div>2)各商品単位に抽出し、配列に保持preg_match_all関数で正規表現のパターンを使って各商品単位に抽出し、配列に保持します。例)上記1)で取得対象のHTMLパターンを確認し、下記部分を一つの単位として抽出することにしました。class=”Level2_3′′>の手前までこれを正規表現にしてpreg_match_all関数で記述すると下記になります。※パターン全体にマッチした内容は、$ary_match[0][i]に保持され、パターン内のカッコで指定したサブパターン部分は、$ary_match[1][i]にほじされます。この例で必要なのは後者で、以下こちらを使用します。上記2)で取得した各商品情報の配列$ary_match[1][i]を順に読み出し、商品内の各項目をパターンマッチで抽出します。改行やタブ、スペース、不要なタグなどが含まれてしまっている場合は、str_replace関数で除去します。コメントをキャンセルメールアドレスが公開されることはありません。コメントデータの処理方法の詳細はこちらをご覧ください。