我有一个书签,它可以查看页面并提取所有图像供用户查看。
include('simple_html_dom.php');
function getUrlAddress()
{
/*** check for https is on or not ***/
$url = $_SERVER['HTTPS'] == 'on' ? 'https' : 'http';
/*** return the full address ***/
return $url .'://'.$_SERVER['HTTP_HOST'].$_SERVER['REQUEST_URI'];
}
/*** example usage ***/
echo getUrlAddress ();
$html = file_get_html($url);
foreach($html->find('img') as $e)
echo '<img src='.$e->src .'><br>';
现在,大多数时候用户会点击其上有特定产品的页面,可能来自ebay或亚马逊等 - 理想情况下,我希望显示产品的实际图像,而不是每个徽标/按钮等。如何?
我知道他们不会将它们包装在标签中,所以还有其他方法吗?
也许按尺寸? px和/或文件大小的图像大小? (这是指示性的吗?这是一个假设)
两个例子让你可以看到我的意思,如果你使用上面的代码(你必须得到simple_html_dom.php)
更新
亚马逊实际上做了类似我发现的东西 - 它永远不会是完美的,因为你依靠所有开发人员写同样的东西,不会发生!这最接近我需要的功能。它不仅刮掉最大的图像,而且似乎只刮掉与物品相关的图像,聪明的东西?
答案 0 :(得分:0)
看起来eBay使用id =“i_vv4-35”而亚马逊有onclick =“openImmersiveView(event)”
尝试做类似的事情:
if($site == 'eBay' && $e->id == 'i_vv4-35');
if($site == 'Amazon' && $e->onclick == 'openImmersiveView(event)');
答案 1 :(得分:0)
foreach($html->find('img') as $e)
if (strpos($e,'SX300') !== false) {
$image = $e;
}
else if (strpos($e,'SY300') !== false) {
$image = $e;
}