我正在从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 ..但是没有想到把它放在哪里
任何帮助将不胜感激
答案 0 :(得分:1)
HtmlWeb.Load
将网址作为其来源,并处理内容的下载。你不需要补充WebClient
来做这件事,这一切都得到了解决。
您正在做的是下载内容,然后尝试将下载的内容(HTML)用作网址(可能假设Load
表示Parse
)。
删除
WebClient x = new WebClient();
string source = x.DownloadString(@"http://www.bbc.com");
然后将下一行更改为
var document = new HtmlWeb().Load(@"http://www.bbc.com");
你会很高兴。