我有一个 的.html页面上有5个字符(4个数字和一个句点)。
我知道的唯一方法是创建一个导航到URL的web浏览器,然后使用
browser.GetElementByID();
然而,使用IE所以我确信它很慢。有没有更好的方法(不使用API,C#中内置的东西)只是以一种你可以阅读的方式访问网页?
答案 0 :(得分:2)
尝试以下两行:
var wc = new System.Net.WebClient();
string html = wc.DownloadString("http://google.com"); // Your page will be in that html variable
答案 1 :(得分: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);
}
}
答案 2 :(得分:0)
不使用任何 API?你在.NET框架中,所以你已经在某种程度上使用了抽象层。但是如果你想要没有任何插件的纯C#,你可以打开一个到网站的TCP套接字并下载内容(毕竟它只是一个格式化的字符串)并读取数据。
这是一个类似的问题:How to get page via TcpClient?