0

我有一个 .html 页面,上面只有5 个字符(4 个数字和一个句点)。

我知道的唯一方法是制作一个导航到 URL 的网络浏览器,然后使用

browser.GetElementByID();

但是,它使用 IE,所以我确信它很慢。有没有更好的方法(不使用 API,C# 内置的东西)以您可以阅读的方式简单地访问网页?

4

3 回答 3

2

试试这两条线:

var wc = new System.Net.WebClient();
string html = wc.DownloadString("http://google.com");  // Your page will be in that html variable
于 2013-09-21T21:29:19.147 回答
1

您似乎想下载一个 url,将其解析为 html,然后找到一个元素并读取其内部文本,对吗?使用 nuget 获取对 HtmlAgilityPack 的引用,然后:

using(var wc = new System.Net.WebClient()){
    string html = wc.DownloadString("http://foo.com");
    var doc = new HtmlAgilityPack.HtmlDocument();
    doc.LoadHtml(html);
    var el = doc.GetElementbyId("foo");
    if(el != null)
    {
        var text = el.InnerText;
        Console.WriteLine(text);
    }
}
于 2013-09-21T21:41:20.427 回答
0

不使用任何API?您处于 .NET 框架中,因此您已经在某种程度上使用了抽象层。但是,如果您想要没有任何插件的纯 C#,您可以只打开一个到该站点的 TCP 套接字并下载内容(毕竟它只是一个格式化的字符串)并读取数据。

这是一个类似的问题:How to get page via TcpClient?

于 2013-09-21T21:30:35.790 回答