PHPでHTMLをパースするで紹介したPHP Simple HTML DOM Parseで、UserAgentを偽装したくなったので、ちょこっとスクリプトを修正してみました。 simple_html_dom.php function file_get_html() { $dom = new simple_html_dom; $args = func_get_args(); $context = stream_context_create(array('http' => array( 'method' => 'GET', 'header' => 'User-Agent: Mozilla/4.0 (compatible; MSIE 8.0; Windows NT 5.1; Trident/4.0; .NET CLR 2.0.50727; .NET CLR 3.0.4506.2152; .NET
概要 卒研のためにWEBサイトから必要な情報だけ抽出したデータセットを作成したときに用いた、PHPでHTMLを簡単にパースできるというPHP Simple HTML DOM Parserの使い方の備忘記録。 参考ページ PHPでHTMLをパースする 抽出対称 amazonのベストセラーのランキングページ2009年の本のベストセラーから ISBN-10 本のタイトル 著者 を取得する。 ※ 2010/12/29 時点でのhtmlには対応している。 本のタイトル・著者 抽出スクリプト <?php // ランキングページの1ページ目のURL(1位~20位) $page_url = "http://www.amazon.co.jp/gp/bestsellers/2009/books/ref=pd_ts_pg_1?ie=UTF8&pg=1"; // ランキングページのHTMLを取得 $page_da
HTMLをパースしてきてDB化したり、RSSのテンプレに落とし込む…と言ったことを少し前からしているのですけど、1つ2つならいざ知らず対象サイトが増えてくると正規表現で何かし続けるのはたいそう無理があります。そういうわけでDOMを使ったりXPathを使ったりもしていたのですが、どちらもHTMLの構造にぴったりとは言えなくて、高度なことが出来るが故に記述が複雑になってしまうのでした。うーん。慣れるまでにハードルがあるな… そんなことを思っていたのですが、ふとした拍子に見つけたライブラリ「PHP Simple HTML DOM Parser」を利用してみたらば、とてつもなく便利でびっくり。jQueryのようなセレクタでガンガン指定して持ってくるスタイルでわかりやすいのなんの。 $text = $dom->find('#todays_darling', 0)->innertext; //今日のダ
WEBサイトは著作権で守られています。許可無く勝手に人様のサイトから情報だけ抜き出して自分のサイト上に公開することは出来ません。この著作権の問題には十分注意してください。 スクレイピング便利クラス Simple HTML Dom スクレイピングの方法はいくつか存在するのがですが、私はSimple HTML Domを好んで使っています。色々調べた結果、個人的にはこれが一番使い易いと思いました。 サイトからダウンロードし、simplehtmldom_1_5フォルダをスクレイピングを実行したいサーバーにアップして、simple_html_dom.phpを呼び出すだけで準備は完了します。 引っこ抜きの指定が実はCSSそっくり!だからWEBデザイナーにも! 簡単ですが、データの引っこ抜き方です。『ここを引っこ抜きたい!』という部分を指定します。 下記の赤字部分に注目。引っこ抜きたい(スクレイピングし
リリース、障害情報などのサービスのお知らせ
最新の人気エントリーの配信
処理を実行中です
j次のブックマーク
k前のブックマーク
lあとで読む
eコメント一覧を開く
oページを開く