2010-11-22 38 views
0

我需要帮助完成以下任务:asp.net:从远程站点刮取图像后,如何显示更大的图像?

在我的网络应用程序中,用户应该能够从某个产品网站提交包括产品图片的产品。他们通过首先输入产品网址来完成此操作。 www.amazon.com/product1 ...然后,我想要做的是给用户一个简单的方法来选择产品图像,向他展示产品网址中的一些图像,这些图像可能是正确的产品图像。 到目前为止,我设法从产品url(使用webclient类和“Html Agility Pack”)中抓取所有图像,但是显示来自该产品网站的所有图像...(通常包含许多小图像)。但我只想向用户展示一些可能是产品图像的图像(然后他选择了正确的图像)。 我能想到的缩小可能产品图像数量的唯一方法是通过其尺寸或宽度/高度,正确的产品图像通常是更大的图像。 (或者有人有更好的方法来确定产品网站的可能产品图像?)。

哦,这是一个很多的解释,这里是我的实际问题:

从一个网站,我怎么能得到图像的大小刮所有imageurls,以后只显示较大的人在用户?

最好的办法是在下载每一个图像之前获取尺寸,只下载较大的图像,但如果这是不可能的,我想唯一的选择是获取每张图片,确定其大小,然后只显示给用户更大的。 但你会怎么做?

非常感谢您的解答

+0

您可能想要查看此链接(特别是亚马逊对其网站上的所有内容(包括图片)拥有版权的部分):http://www.amazon.com/gp/help/customer/display.html/ref= footer_cou?ie = UTF8&nodeId = 508088 – NotMe 2010-11-22 22:48:36

+0

哦,他们有一个很好的部分,说明他们真的不希望你为其他商家使用他们的内容。 – NotMe 2010-11-22 22:50:07

+0

但产品/产品图像将有一个链接到商店它从..我知道的版权问题,我想我必须问每个商店,如果他们介意刮他们的图像,如果包含链接... – ibmkahm 2010-11-23 08:29:04

回答

0

如果不自己获取图片,您无法做到这一点。任何可能的width/height属性或CSS样式规则都不代表图像本身的实际尺寸,因为它们定义了显示可能具有不同尺寸的图像的约束条件。

真的有这样做的方法有两种:

  1. 尝试身份代表的大图片的HTML的特定元素,并提取图像显示在那里。例如<div class="bigImage"><img src="..." /></div>。不是很好。

  2. 下载所有的图像,并计算出它们的大小。在网站上所有可能的图像(包括徽标,按钮,广告等)中,您如何知道哪些是产品图像?

这真的很开放式的,并没有guarunteed解决方案...您对这款产品网站找到图像

0

src属性可能有一个线索在那里等你。也就是说,这些图片可能在网址中包含产品名称或ID,或者来自不同的“文件夹”/路径,这些文件会向您显示它们不同。

如果它只有一个站点,你可能有一个可用的解决方案做这样的事情。但是,如果该网站改变了任何内容,您的应用将会中断。

0

使用属性和图像大小。太小的图片假设它们是图标,太宽的图片假设横幅或标题,太高的图片假定它们是摩天大楼的横幅。您正在寻找具有类似高度,宽度尺寸的矩形图像。