PHP Simple HTML DOM Parser で HTML からリンクを取得することができます。以下のサイトが参考になりました。この記事では具体的に HTML からリンクを取得する方法を解説します。
PHP Simple HTML DOM Parser をダウンロード
PHP Simple HTML DOM Parser というライブラリを使うとできます。以下のサイトからライブラリをダウンロードしてきます。
リンクのタイトルと URL を取得する
リストなどにリンクが含まれているような HTML からリンクを取り出す例です。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 | $output = <<< DOC <ul> <li><a href="http://example.com/1">Title1</a></li> <li><a href="http://example.com/2">Title2</a></li> <li><a href="http://example.com/3">Title3</a></li> </ul> DOC; include('simplehtmldom_1_5/simple_html_dom.php'); $data = str_get_html($output); foreach($data->find('a') as $element){ echo $element->plaintext; echo '<br>'; echo $element->href; echo '<br>'; } |
以下のようにタイトルとリンクを出力できます。
1 2 3 4 5 6 | Title1 http://example.com/1 Title2 http://example.com/2 Title3 http://example.com/3 |
マニュアル見たところ、ちょっと分からなかったのですが、href って書いたら href の値が取得できました。こうしたら動くんじゃないかで動かせるのは大変便利です。今後これを使っていろんなものを作っていこうと思います。
浜村拓夫の世界さんのコメント
CodeIgniterでスクレイピング
PHPで様々なクローラーを作ってます。
CodeIgniterでスクレイピングするのに便利な方法があったので、備忘録としてメモ。
●PHP Simple HTML DOM Parser
スクレイピング用のPHPライブラリがあり…