0

我正在从 A WebPage 开发图像提取软件。创建了一个函数

 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 太长” ..

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

任何帮助,将不胜感激

4

1 回答 1

1

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");

你会很高兴的。

于 2016-07-22T12:32:13.737 回答