- ベストアンサー
PHPでHTMLソースから特定のURLを抽出する方法
- PHPで外部サイトのHTMLソース内の特定のURLを取得する方法について教えてください。
- 具体的には楽天市場の個別商品ページのHTMLソースからレビューページのURLを抽出したいです。
- PHP初心者で正規表現がわからないため、プログラムのソースコードを教えていただけると助かります。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
うーん。 授業料が欲しいくらいだけお。 でも暇だっから今回は許すお。 僕に感謝するお。 --------------------------- // find all link foreach($html->find('a') as $e){ $txt = mb_convert_encoding($e->plaintext, 'UTF-8', 'EUC-JP'); $href = mb_convert_encoding($e->href, 'UTF-8', 'EUC-JP'); if(strstr($txt, 'レビューを見る(') !== false ){ echo $href . ' : ' . $txt . '<br>'; } } --------------------------- URL抜き出す条件はソース見ればわかるお。
その他の回答 (2)
- reggaepunc
- ベストアンサー率59% (64/108)
しょうがないなぁ。 ファイルをダウンロードしたら /example/example_basic_selector.php というファイルがあるから、 ブラウザからアクセスしてみよう。 すると、、、 あら不思議。 抽出されたURLが! 簡単だお。ソースコード必要ないお。
補足
詳しい説明ありがとうございます。 無事にURLは抽出できましたが、不要なURLも大量に抽出してしまいます。 目的の↓このURLのみを抽出するにはexample_basic_selector.phpをどのように改良すればいいのでしょうか? ttp://review.rakuten.co.jp/item/1/229861_10000050/1.1/
- reggaepunc
- ベストアンサー率59% (64/108)
これ。HTML解析する奴。 これ使ったら1発だお。 http://simplehtmldom.sourceforge.net/
補足
リンク先にあるScraping Slashdot!を応用するのでしょうか?? もう少し具体的にソースコードを教えていただけると助かります。
お礼
ありがとうございます。 無事目的のURLのみ抽出できました。