2016-11-25 11 views
0

からの画像をスクレーピング:http://www.bing.com/news/search?q=zara&go=Search&qs=bs&form=QBNTは以下のBingのページをこするとき、私は唯一の4枚の画像を取得することができ、いくつかの理由からビング

私は10本のタイトルやスニペットを取得することができますが、ので、私の質問は、なぜ私だけで4枚の画像を得ることができますです下のコードですか?理想的には、タイトルやスニペットのように多くの画像を取得したいと考えています。

<?php 

include_once 'simple_html_dom.php'; 

$html = file_get_html('http://www.bing.com/news/search?q=zara&go=Search&qs=bs&form=QBNT'); 

foreach($html->find('.image img') as $element) 

echo $element->src . '<br>'; 

?> 

結果:

/th?id=ON.62EC487ABAB1647966D6D3700B1F4D83&pid=News&w=150&h=100&c=7&rs=2 
/th?id=ON.F34C27652CFA4A316BAA99A43C9D1E9D&pid=News&w=150&h=100&c=7&rs=2 
/th?id=ON.B0F8C442159754AF12FFF30E315A5E2F&pid=News&w=150&h=100&c=7&rs=2 
/th?id=ON.261655923157551E348AE0085F7E0F9A&pid=News&w=150&h=100&c=7&rs=2 
+0

あなたはどこから構造を表示できますか?あなたはデータをスクラップしたい、つまりhtmlを意味します。申し訳ありませんが、私は電話中であることがわかりません。 – Kumar

+0

あなたの返信クマルに感謝します。それは動作しますか:view-source:http://www.bing.com/news/search?q = zara&go = Search&qs = bs&form = QBNTイメージの一部が異なるため、 "data:image/gif; base64、R0lGODlhAQABAIAAAAAAAP /// yH5BAEAAAEALAAAAAABAAEAAAIBTAA7"をクリックすると画像にリンクしていないようです。ある種のエンコーディングである必要があります。 – Seb

+0

ねえ、セブは動作しますか?私は答えを投稿しました – Kumar

答えて

0

あなたはnwsImgクラスからデータをスクラップするために使用することができます。同様

foreach($html->find("img[class=nwsImg]") as $da) 
{ 
    echo $da->src; 
} 

動作しない場合は、以下の点にご注意ください。私はそれをテストしていない。

編集: あなたの質問のコメント欄に投稿したリンクのモバイル版でこれを見つけました。はい、PCモードからのデータのスクレイピングはずっと難しくなります。ここに私のトリックがあります

<?php 
include_once 'simple_html_dom.php'; 

$opts = array('http' => array('header' => 'User-agent: Mozilla/5.0 (iPhone; U; CPU like Mac OS X; en) AppleWebKit/420.1 (KHTML, like Gecko) Version/3.0 Mobile/3B48b Safari/419.3',)); 
$context = stream_context_create($opts); 
$html = str_get_html(file_get_contents("http://www.bing.com/news/search?q=zara&go=Search&qs=bs&form=QBNT", false, $context)); 

foreach($html->find("img[class=nwsImg]") as $da) 
{ 
echo $da->src; 
} 
?> 
+0

私はあなたのコードを下に追加しましたが、私は空白のページを取得します。また、クラス** nwsImg **をどこで見つけましたか?私はソースコードを検索して見つけられません。 '<?php include_once 'simple_html_dom.php'; $ html = file_get_html( 'https://www.bing.com/news/search?q=zara&FORM=HDRSC6'); $ haとしてforeach($ html-> find( "img [class = nwsImg]")) { echo $ da-> srcs; } ?> – Seb

+0

ありがとうございましたカルマ、これは今すぐうまくいきます;-)私は正確な理由はよく分かりませんが、時間があればコミュニティの説明をお願いします。再度、感謝します! – Seb

関連する問題