我正在尝试使用HTML Agility包从Wikipedia进行简单的屏幕抓取。我复制了在我的浏览器中工作的正确链接的格式https://en.wikipedia.org/wiki/Nanticoke%2c_Pennsylvania< - 在浏览器中工作 但是,当使用此代码时,我从WebClient类中获取非法路径字符异常。
原始地址:https://en.wikipedia.org/wiki/Nanticoke,_Pennsylvania
更新 - 在调用html.Load()之前将网站下载到字符串变量不会抛出异常。我在html.Load()
上获得了非法的路径字符var client = new WebClient();
var address = $"https://en.wikipedia.org/wiki/{HttpUtility.UrlEncode($"{name},_{state}")}";
HtmlAgilityPack.HtmlDocument html = new HtmlAgilityPack.HtmlDocument();
html.Load(client.DownloadString(address)); //Exception thrown here
答案 0 :(得分:0)
我使用了错误的方法。加载将尝试拉低网站,LoadHtml除了已加载的内容。
html.LoadHtml(content);