1

我正在尝试从网站上抓取一些 html。所有其他 url 都可以工作,但特别是一个会出现问题。网址中有一个点,这不是我可以更改的,因为它是别人的网站。

string url = "http://blahblah.com/over-under-2.5" // not the actual url!
HtmlWeb htmlWeb = new HtmlWeb();
var document = htmlWeb.Load(url);

它不会给出任何运行时错误,但返回的文档是空的。

有什么解决方法吗?

4

2 回答 2

2

使用Uri该类来创建您的 URL。

Uri uri = new Uri("http://blahblah.com/over-under-2.5");
HtmlWeb htmlWeb = new HtmlWeb();
var page = htmlWeb.Load(uri.AbsoluteUri);
Console.WriteLine(page.DocumentNode.SelectSingleNode("//*[@id=\"currentpage\"]").InnerText);

这将从网页输出“BLAH”。

于 2013-08-15T12:47:33.217 回答
0

您可以通过以下方式逃避 Uris:

string escapedString = Uri.EscapeUriString(unescapedString);

不过,我可能完全错过了你的问题的重点。

于 2013-08-15T12:32:18.403 回答