Home > PHP > HTMLをスクレイピング

HTMLをスクレイピング

  • 2007-12-16 (日)
  • PHP

コンテンツ自動生成に欠かせないスクレイピングやHTML解析(パース)に関する情報。

HTMLをスクレイピングして解析(パース)する

HTMLをスクレイピング(scraping)してあれこれとするとき、僕はずっと正規表現に頼っていたのですが、ページの構造が変化するとすぐに使えなくなってしまうし、時間がかかる割りに退屈な作業なので何とかならないかなと思っていました。

PHPで探していたのですが、XML(とかRSS)をパースする関数やライブラリは、良く目にするものの、HTMLを処理できるものはなかなか見つかりませんでした。以下は、PHP(とかRuby、Perl)でHTMLをスクレイピングしたりパースするための方法。

HTMLを整形式のXML文書に修正するPHPクラス

一般的なXHTML変換処理にみられる、タグ書式の修正や不適切に用いられている解析対象記号の置換などに加えて、DTD的構成ルールを用いて、欠落している要素の補完や、要素の親子関係の補正をある程度行なうことができます。構成ルールは任意に指定可能で、これにより例えば、HTMLソースから不要な要素や属性を除去したり、別の要素に置換したりといったことも行えます。

PHPでプログラミングをしています。特定のHTMLファイル内にあるタグと要素を取得したいのですが、そのようなこと全般ができる関数、もしくはクラスというものがありますで.. - 人力検索はてな

質問から少し外れてしまうかもしれませんが、既存のHTMLの一部の情報を抜き出して活用する、ということであれば以下の書籍が非常に参考になります。
Spidering hacks―ウェブ情報ラクラク取得テクニック101選
Kevin Hemenway Tara Calishain
オライリー・ジャパン | 2004-05
定価: ¥ 3,675
おすすめ平均: おすすめ平均 4.5
designed with ARS

よく、「Web標準」とか「正しいHTML」とか言われるが、個人的にもW3Cの標準への準拠はお勧めしたい。というのは、私のようにHTMLをスクレイピングとか色々いじって二次使用する際に、特殊なHTMLの書き方をされるとスクレイピングし辛いからだ。

Tags :
スクレイピング?Php?Html?正規表現?パース?

カテゴリ「PHP」の最新記事

カテゴリ「PHP」 の全ての記事を読む

「スクレイピング」に関連する商品を...

Home > PHP > HTMLをスクレイピング

Search
Feeds

Page Top