如何选择特定图像并从特定网址中保存? (内部说明)

时间:2013-04-25 10:18:35

标签: c# javascript jquery asp.net html-agility-pack

我需要在网站的文本框中输入网址,从网站中选择并保存一些特定图片。

我已经使用html敏捷性加载了网站网址中的所有图片。但现在我不知道如何选择和保存。

例如,我在文本框中输入http://flipkart.com/,它应该从该页面加载所有图像,假设它包含9个图像,如果从网站加载9个图像并显示为图库,则从该图库I将选择1图像点击保存。它应该保存在我的网站的某个地方(可能是一个特定的文件夹)。

我不知道如何从网站保存图像。

有人会提供一些参考或想法来实现保存在给出网址时加载的图像的任务。

谢谢!

2 个答案:

答案 0 :(得分:2)

string imageUri = "http://www.contoso.com/library/homepage/images/";
            string fileName = "ms-banner.gif", myStringWebResource = null;
            // Create a new WebClient instance.
            WebClient myWebClient = new WebClient();
            // Concatenate the domain with the Web resource filename.
            myStringWebResource = remoteUri + fileName;
            Console.WriteLine("Downloading File \"{0}\" from \"{1}\" .......\n\n", fileName, myStringWebResource);
            // Download the Web resource and save it into the current filesystem folder.
            myWebClient.DownloadFile(myStringWebResource,fileName);     
            Console.WriteLine("Successfully Downloaded File \"{0}\" from \"{1}\"", fileName, myStringWebResource);

在myStringWebResource中,您将提到您文件夹的路径。我假设您是在要保存图像的同一网站上进行的

修改 我已经看过了,但是我们可以使用webclient来加载网站上的所有图片。例如,如果我给flipkart.com,它将显示该页面中的所有图像。 - Gopinath Perumal

  • 首先,您需要从Web客户端
  • 获取html作为字符串
  • 然后你需要找到以.jpg,.jpeg,.png,.gif等结尾的字符串中的所有uri
  • 迭代webclient并下载每张图片

但请注意,许多网站都不允许以此方式进行编程爬行。

答案 1 :(得分:1)

我用Google搜索了这个并获得了以下代码,

public System.Drawing.Image DownloadImageFromUrl(string imageUrl)
{
    System.Drawing.Image image = null;

    try
    {
        System.Net.HttpWebRequest webRequest = (System.Net.HttpWebRequest)System.Net.HttpWebRequest.Create(imageUrl);
        webRequest.AllowWriteStreamBuffering = true;
        webRequest.Timeout = 30000;
        System.Net.WebResponse webResponse = webRequest.GetResponse();
        System.IO.Stream stream = webResponse.GetResponseStream();
        image = System.Drawing.Image.FromStream(stream);
        webResponse.Close();
    }
    catch (Exception ex)
    {
        return null;
    }

    return image;
}

使用此代码并将其另存为所需格式的图像。

保存图像时,您应该提及文件夹/目标路径。