まずは、タグ名だけを指定してスクレイピングしてみます。
1 2 3 4 5 6 |
find('p'); foreach($items as $item){ echo $item->innertext."<br />"; } ?> |
1. 3行目の require_once(‘simple_html_dom.php’); でPHP Simple HTML DOM Parser を読み込みます。
2. file_get_html(”); で、解析対象ページのURLを指定して、ページを読み込みます。
3. file_get_htmlで得たDOMオブジェクトの find() 関数に引数をひとつ入れて呼び出します。
この引数にはCSSのようなセレクタを入れます。
今回の場合は’p’となっているので、p タグを指定してます。
こうすると 対象のページの p タグすべてを指定することになり、その結果を$tagsに代入してます。
4. $tags には複数のpタグのオブジェクトが入っているので、各pタグのオブジェクトをforeachで取り出して、
各pタグオブジェクトのinnertextを出力します。
innertextはオブジェクトの内部のテキストを表示します。
innertextは、たとえば「<p>ここになります。</p>」というタグがあった場合「ここになります。」
がinnertextに該当する部分になります。
このphpスクリプトにアクセスすると以下のような結果が得られます。
1 2 3 |
今日ははれでしたが寒かったですよ そうですか、それは大変でしたね 以上 |
— スクレイピング対象のhtmlファイル(sample.html) —
1 2 3 4 5 6 7 8 |
<title>タイトルですよ</title> <h1>ヘッダーですよね</h1> <div> <p class="ichi">今日ははれでしたが寒かったですよ</p> <p class="ni">そうですか、それは大変でしたね</p> <p class="ni">以上</p> <a href="http://www.yahoo.co.jp">ヤフー</a> </div> |
/