從兵

2016-11-25 24 views
0

刮痧圖片由於種種原因刮下面的Bing的頁面時,我只能拿到四張圖片:http://www.bing.com/news/search?q=zara&go=Search&qs=bs&form=QBNT從兵

雖然我可以檢索十個標題或摘要,所以我的問題是,爲什麼我只能獲得與四象代碼如下?理想情況下,我希望獲得與標題或片段一樣多的圖像。

<?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

感謝您的回覆庫馬爾。這是行不通的:查看源代碼:http://www.bing.com/news/search?q = zara&go =搜索&qs = bs&form = QBNT我認爲這是因爲一些圖像的src不同,即其中一些內容如下:src = 「data:image/gif; base64,R0lGODlhAQABAIAAAAAAAP /// yH5BAEAAAEALAAAAAABAAEAAAIBTAA7」,點擊它時似乎沒有鏈接到任何圖像。必須是某種編碼。 – Seb

+0

嘿,seb能工作嗎?我已經發布了一個答案 – Kumar

回答

0

您可以使用從nwsImg類廢數據。 Like

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'); ($ html-> find(「img [class = nwsImg]」)as $ da) { echo $ da-> srcs; } ?>' – Seb

+0

非常感謝Karma,現在工作正常;-)我不確定爲什麼,如果你有一些時間,請爲社區提供一些解釋。再次感謝! – Seb