使用SimpleHTMLDOM解析器从iTunes获取应用程序的图标图像
问题描述:
我想从iTunes应用程序url中获取图标和截图图像。但是,我只能抓取特定应用程序的屏幕截图。 Incase的一个图标,我得到以下网址https://s.mzstatic.com/htmlResources/ef35/frameworks/images/p.png为所有apps.I可以获取图标和屏幕截图的谷歌播放的情况下。 所以iTunes是否限制图标图像的读取或者在我的代码中是否有错误?使用SimpleHTMLDOM解析器从iTunes获取应用程序的图标图像
<?php
// Report all PHP errors (see changelog)
error_reporting(E_ALL);
include('simplehtmldom_1_5/simple_html_dom.php');
//base url
$base = "https://itunes.apple.com/cn/app/kindle/id405399194?mt=12&ign-mpt=uo%3D2";
if (strpos($base, 'play.google.com') !== false) {
$html_base = file_get_html($base);
$icon = "https:".$html_base->find('div[class=details-info] img[class=cover-image]')[0]->src;
echo $icon."<br>";
$screenShot = "https:".$html_base->find('div[class=screenshot-align-inner] img')[0]->src;
echo $screenShot;
}elseif (strpos($base,'itunes.apple.com') !== false) {
$html_base = file_get_html($base);
$icon = $html_base->find('div[class=artwork] img')[4]->src;
echo $icon."<br>";
$screenShot = $html_base->find('div[class=lockup] img')[0]->src;
echo $screenShot;
}
$html_base->clear();
unset($html_base);?>
答
的问题是使用SRC交换,而不是作为SRC SRC不提取实际图像路径解决。
}elseif (strpos($base,'itunes.apple.com') !== false) {
$html_base = file_get_html($base);
$icon = $html_base->find('div[class=artwork] img')[4]->{'src-swap'};
//the main icon for itunes is atleast 175px
echo $icon."<br>";
$screenShot = $html_base->find('div[class=lockup] img')[0]->src;
echo $screenShot;
}