Bing的刮痧图像

时间:2016-11-25 19:39:16

标签: web-scraping

由于某些原因,我在抓取以下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

1 个答案:

答案 0 :(得分: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; 
}
?>