由于某些原因,我在抓取以下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 :(得分: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;
}
?>