我正在使用脚本获取<img>
的src,其中class =&#34; cover-image&#34;
该网页属于Google Play商店页面。
这是脚本:
$dom = new DOMDocument;
libxml_use_internal_errors(true);
$dom->loadHTMLFile('https://play.google.com/store/apps/details?id=com.igg.castleclash');
libxml_clear_errors();
$xp = new DOMXPath($dom);
$image_src = $xp->query("//img[@class='cover-image']/@src");
foreach($image_src as $attr) {
echo $attr->value. "<br/>";
}
问题是,只有一个带有类名称覆盖图片的<img>
代码,但我仍然获得15个src值。
答案 0 :(得分:1)
如果您的目的是获取第一个,那么您可以在xpath查询中添加它:
$dom = new DOMDocument;
libxml_use_internal_errors(true);
$dom->loadHTMLFile('https://play.google.com/store/apps/details?id=com.igg.castleclash');
libxml_clear_errors();
$xp = new DOMXPath($dom);
$image_src = $xp->evaluate("string(//img[@class='cover-image'][1]/@src)");
echo $image_src;
echo "<img src='$image_src' alt='' />";
此外,如果您想要在网站最上部(靠近标题部分)的封面图片,您可以直接将其指向它:
$image_src = $xp->evaluate("
string(
//div[@class='details-info']
/div[@class='cover-container']
/img[@class='cover-image']/@src
)
"); // much more specific
答案 1 :(得分:0)
你确定应该只有1个标签吗?我在html代码中看到了这个类的15个标签。