電子書籍の厳選無料作品が豊富!

PHPで外部サイトのHTMLソース内の特定のURLを取得するにはどうすればいいでしょうか?

具体的には楽天市場の個別商品ページのHTMLソースにあるレビューページのURLを抽出したいと思っています。

ttp://item.rakuten.co.jp/asagao/332/のHTMLソースから
レビューページのURLのttp://review.rakuten.co.jp/item/1/229861_10000050/1.1/を取得するようなプログラムを作りたいと思っています。

自力で頑張ってみたもののPHP初心者のため、preg_matchや正規表現でお手上げ状態になってしましました。

プログラムのソースコードを教えていただけると助かります。

ご回答よろしくお願いします。

A 回答 (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抜き出す条件はソース見ればわかるお。
    • good
    • 0
この回答へのお礼

ありがとうございます。

無事目的のURLのみ抽出できました。

お礼日時:2012/05/07 21:27

しょうがないなぁ。



ファイルをダウンロードしたら

/example/example_basic_selector.php

というファイルがあるから、
ブラウザからアクセスしてみよう。
すると、、、

あら不思議。

抽出されたURLが!

簡単だお。ソースコード必要ないお。

この回答への補足

詳しい説明ありがとうございます。

無事にURLは抽出できましたが、不要なURLも大量に抽出してしまいます。

目的の↓このURLのみを抽出するにはexample_basic_selector.phpをどのように改良すればいいのでしょうか?
ttp://review.rakuten.co.jp/item/1/229861_10000050/1.1/

補足日時:2012/05/06 22:19
    • good
    • 0

これ。

HTML解析する奴。
これ使ったら1発だお。
http://simplehtmldom.sourceforge.net/

この回答への補足

リンク先にあるScraping Slashdot!を応用するのでしょうか??

もう少し具体的にソースコードを教えていただけると助かります。

補足日時:2012/05/06 19:03
    • good
    • 0

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!