- 2007-12-16 (日)
- PHP
コンテンツ自動生成に欠かせないスクレイピングやHTML解析(パース)に関する情報。
HTMLをスクレイピング(scraping)してあれこれとするとき、僕はずっと正規表現に頼っていたのですが、ページの構造が変化するとすぐに使えなくなってしまうし、時間がかかる割りに退屈な作業なので何とかならないかなと思っていました。
PHPで探していたのですが、XML(とかRSS)をパースする関数やライブラリは、良く目にするものの、HTMLを処理できるものはなかなか見つかりませんでした。以下は、PHP(とかRuby、Perl)でHTMLをスクレイピングしたりパースするための方法。
一般的なXHTML変換処理にみられる、タグ書式の修正や不適切に用いられている解析対象記号の置換などに加えて、DTD的構成ルールを用いて、欠落している要素の補完や、要素の親子関係の補正をある程度行なうことができます。構成ルールは任意に指定可能で、これにより例えば、HTMLソースから不要な要素や属性を除去したり、別の要素に置換したりといったことも行えます。
PHPでプログラミングをしています。特定のHTMLファイル内にあるタグと要素を取得したいのですが、そのようなこと全般ができる関数、もしくはクラスというものがありますで.. - 人力検索はてな
質問から少し外れてしまうかもしれませんが、既存のHTMLの一部の情報を抜き出して活用する、ということであれば以下の書籍が非常に参考になります。
よく、「Web標準」とか「正しいHTML」とか言われるが、個人的にもW3Cの標準への準拠はお勧めしたい。というのは、私のようにHTMLをスクレイピングとか色々いじって二次使用する際に、特殊なHTMLの書き方をされるとスクレイピングし辛いからだ。
Tags :スクレイピング?Php?Html?正規表現?パース?
カテゴリ「PHP」の最新記事
-
2008-02-09 20:00 - PHPのエラー表示を制御する
-
2007-12-23 16:00 - Pear::HTTP_Requestで外部ページにPOSTする
-
2007-12-18 22:00 - PEAR::Cache_Lite でデータのキャッシュ
-
2007-12-16 01:00 - HTMLをスクレイピング
-
2007-12-10 22:00 - JavaScriptからPHPを呼び出しHTML上に出力する方法
「スクレイピング」に関連する商品を...
- Newer: PEAR::Cache_Lite でデータのキャッシュ
- Older: 検索エンジンの特殊検索コマンド

