HTML からリンクのタイトルと URL を PHP Simple HTML DOM Parser を使って取得する

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 の値が取得できました。こうしたら動くんじゃないかで動かせるのは大変便利です。今後これを使っていろんなものを作っていこうと思います。

コメント

  1. 浜村拓夫の世界さんのコメント

    CodeIgniterでスクレイピング

    PHPで様々なクローラーを作ってます。
    CodeIgniterでスクレイピングするのに便利な方法があったので、備忘録としてメモ。

    ●PHP Simple HTML DOM Parser
    スクレイピング用のPHPライブラリがあり…