是否有一种简单的方法(使用C#)打开任意URL,读取文本并将其降低到网页中显示的值?我想我可以得到内容,并在该内容上逐字符地逐字符,将任何在<和>(包含)之间的内容撕掉。我简短地看了一下HTML Agiligy Pack,并且可能是是一个解决方案,但它似乎对我正在尝试做的事情非常沉重。仅从HTML中获取显示文本
再说一次,我想要的是一串文本,表示将在屏幕上显示任意URL的文本。
是否有一种简单的方法(使用C#)打开任意URL,读取文本并将其降低到网页中显示的值?我想我可以得到内容,并在该内容上逐字符地逐字符,将任何在<和>(包含)之间的内容撕掉。我简短地看了一下HTML Agiligy Pack,并且可能是是一个解决方案,但它似乎对我正在尝试做的事情非常沉重。仅从HTML中获取显示文本
再说一次,我想要的是一串文本,表示将在屏幕上显示任意URL的文本。
我还是会选择的HTML敏捷包 - 它是在开始时多做一些工作,但它更灵活和更好的设计,因为它将提供更多 - 例如XPath样式查询。
如果你只需要在HTML的文本表示,这应该做的工作:
using System.Net;
...
public string GetSiteStringContents(string url)
{
StringBuilder sb = new StringBuilder();
byte[] buf = new byte[8192];
HttpWebRequest request = (HttpWebRequest) WebRequest.Create(url);
HttpWebResponse response = (HttpWebResponse) request.GetResponse();
Stream resStream = response.GetResponseStream();
string tempString = null;
int count = 0;
do
{
count = resStream.Read(buf, 0, buf.Length);
if (count != 0)
{
tempString = Encoding.ASCII.GetString(buf, 0, count);
sb.Append(tempString);
}
}
while (count > 0);
return sb.ToString();
}
这不剥离HTML ......但谢谢。 – 2009-11-11 01:23:06