2

全て

タイトルや価格などの製品の詳細を取得するために、PHP Simple HTML DOM Parser を使用しています。これがコードです

<?php 

// Include the library
include('simple_html_dom.php');

// Retrieve the DOM from a given URL
$html = file_get_html('http://www.flipkart.com/mobiles/micromax');



// Find all SPAN tags that have a class of "myClass"
foreach($html->find('a.title') as $e){  
    echo 'Title: '.$e->outertext . '<br>';
    //$html = file_get_html('http://www.flipkart.com/mobiles/micromax/'.$e->outertext);

}

foreach($html->find('span.final-price') as $e)
    echo 'Price:'.$e->outertext . '<br>';


?>

結果

Title: Micromax X101 (White) 
Title: Micromax X291 (White) 
Title: Micromax X101 (Yellow) 
Title: Micromax X234+ (Wine Red) 
Title: Micromax Ninja 3 A57 (Black) 
Title: Micromax Ninja 4.0 A87 (Black) 
Title: Micromax Bling Q55 (Pearl White) 
Title: Micromax X222 (Cocoa Brown) 
Title: Micromax X263 (Champagne & Coffee) 
Title: Micromax X650 (Silver White) 
Title: Micromax A73 (Black) 
Title: Micromax X1i XTRA (Black) 
Title: Micromax Superfone Lite A75 (Charcoal Black) 
Title: Micromax X271 (Black & Blue) 
Title: Micromax X50 (Black) 
Title: Micromax Q56 (Baby Pink) 
Title: Micromax X104 (Black) 
Title: Micromax Q22 (Black Green) 
Title: Micromax Aisha A52 (Yellow) 
Title: Micromax A78 (Coffee) 
Price:Rs. 999
Price:Rs. 1910
Price:Rs. 999
Price:Rs. 1190
Price:Rs. 4999
Price:Rs. 6049
Price:Rs. 3130
Price:Rs. 2040
Price:Rs. 1735
Price:Rs. 3350
Price:Rs. 6199
Price:Rs. 1525
Price:Rs. 6299
Price:Rs. 1590
Price:Rs. 4850
Price:Rs. 3999
Price:Rs. 1099
Price:Rs. 1880
Price:Rs. 4699
Price:Rs. 6970

これで問題なく動作しますが、ブラウザーでこのページhttp://www.flipkart.com/mobiles/micromaxを開きます。ajax プロダクト ロード機能があります。

したがって、私のスクリプトは、最初にロードされた製品のみを取得するだけです。全商品揃えたいです。"Showing 1-20 of 78" が表示されます。78 個すべての製品の詳細を取得するにはどうすればよいですか?

4

1 に答える 1

2

製品の数を読み取り、20で割ると、AJAXスクリプトを表示して使用して値を取得できます。このようにしてsimple_html_dom、json文字列を回避してデコードできます。

http://www.flipkart.com/mobiles/micromax?response-type=json&inf-start=0
http://www.flipkart.com/mobiles/micromax?response-type=json&inf-start=20

等々。

ページのスクロール中に呼び出されるスクリプトを確認する必要があります。Google Chromeでは、[ネットワーク]セクションを使用Developer Toolsして開きF12、監視することができます。

于 2012-10-01T07:39:06.077 に答える