图像提取:uri 太长

Image Extraction : uri is too long

我正在研究从网页中提取图像的软件。已创建函数

 public static void GetAllImages()
        {

            WebClient x = new WebClient();
            string source = x.DownloadString(@"http://www.bbc.com");

            var document = new HtmlWeb().Load(source);
            var urls = document.DocumentNode.Descendants("img")
                                .Select(e => e.GetAttributeValue("src", null))
                                .Where(s => !String.IsNullOrEmpty(s));

            document.Load(source);


        }

它说 "Uri is too long " ..

我尝试使用 Uri.EscapeDataString .. 但不知道放在哪里

任何帮助将不胜感激

HtmlWeb.LoadURL 作为其来源并处理内容的下载。您不需要补充 WebClient 来执行此操作,这一切都已解决。

您正在做的是下载内容,然后尝试将下载的内容 (HTML) 用作 URL(可能假设 Load 表示 Parse).

所以删除

WebClient x = new WebClient();
string source = x.DownloadString(@"http://www.bbc.com");

然后将下一行改为

var document = new HtmlWeb().Load(@"http://www.bbc.com");

你会很高兴的。