Я скачал следующую страницу с помощью wget и сохранил ее в формате f.html
http://www.ebay.com/sch/i.html?_nkw=gruen&_in_kw=1&_ex_kw=sara+quartz+embassy+bob+robert+elephants+adidas&_sacat=See-All-Categories&_okw=gruen&_oexkw=sara+quartz+embassy+bob+robert+elephants+adidas&_adv=1&_udlo=&_udhi=&_LH_Time=1&_ftrt=903&_ftrv=24&_sabdlo=&_sabdhi=&_samilow=&_samihi=&_sadis=200&_fpos=Zip+code&_fsct=&LH_SALE_CURRENCY=0&_sop=12&_dmd=1&_ipg=50
Теперь я хочу загрузить эту страницу для анализа с использованием HtmlAgilityPack в C #. Используя этот фрагмент кода
var webGet = new HtmlWeb(); var document = webGet.Load("f.html");
Вторая строка выдает эту ошибку
A first chance exception of type 'System.UriFormatException' occurred in System.dll
Какое решение ??
У меня нет компилятора под рукой, но я полагаю, что "f.html" не является правильно сформированным Uri. Не хватает схемы и домена.
"f.html"
Правильный URI должен быть похож на "http://the.domain.name/f.html".
"http://the.domain.name/f.html"
Попробуйте следующее:
var url = "http://www.ebay.com/sch/i.html?_nkw=gruen&_in_kw=1&_ex_kw=sara+quartz+embassy+bob+robert+elephants+adidas&_sacat=See-All-Categories&_okw=gruen&_oexkw=sara+quartz+embassy+bob+robert+elephants+adidas&_adv=1&_udlo=&_udhi=&_LH_Time=1&_ftrt=903&_ftrv=24&_sabdlo=&_sabdhi=&_samilow=&_samihi=&_sadis=200&_fpos=Zip+code&_fsct=&LH_SALE_CURRENCY=0&_sop=12&_dmd=1&_ipg=50"; var document = new HtmlDocument(); document.LoadHtml(new WebClient().DownloadString(url));
Если вы хотите загрузить его из локального файла, попробуйте:
var file = "f.html"; var document = new HtmlDocument(); document.LoadHtml(File.ReadAllText(file));