0
私は、HTML Agilityパックを使用してWikipediaから簡単な画面スクレイプを実行しようとしています。 https://en.wikipedia.org/wiki/Nanticoke%2c_Pennsylvania < - ブラウザで動作します このコードを使用すると、WebClientクラスからの不正なパス文字列例外が発生します。WebClient Wikipedia URLのエンコード後でも違法パス文字
オリジナル住所: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
質問を編集してa)実際に生成されたURLとb)実際に発生した例外を表示できますか? – stuartd
エンコーディング後に実際のURLを投稿していません。また、 'html.Load'から' client.DownloadString'を動かし、それを文字列変数に代入することで、URLに問題があるかどうか、あるいはWikipediaの応答がHAPで例外を投げるかどうかを実際に判断することができます – ColinM
Loadテイク生のHTMLではないURL。文字列からhtmlを読み込むには、LoadHtmlを使用します。 –