下载内容后,使用HTML解析器如HTML Agility Pack识别span
元件属于jix_channels_count
类。
另一种选择是SgmlReader。
您与regex
标记你的问题 - 我衷心建议你不采取这个方向发展。
建议的方法(与SgmlReader)变为或多或少像这样:
var url = "www.that-website.com/foo/";
var myRequest = (HttpWebRequest)WebRequest.Create(url);
myRequest.Method = "GET";
WebResponse myResponse = myRequest.GetResponse();
var responseStream = myResponse.GetResponseStream();
var sr = new StreamReader(responseStream, Encoding.Default);
var reader = new SgmlReader
{
DocType = "HTML",
WhitespaceHandling = WhitespaceHandling.None,
CaseFolding = CaseFolding.ToLower,
InputStream = sr
};
var xmlDoc = new XmlDocument();
xmlDoc.Load(reader);
var nodeReader = new XmlNodeReader(xmlDoc);
XElement xml = XElement.Load(nodeReader);
现在你可以使用LINQ到XML到(递归或其他方式)与属性class
,其值等于找到span
元素jix_channels_count
并读取该元素的值。
关于正则表达式,我问这个问题,希望会有更好的办法:-) – 2012-08-08 07:27:47