Less.Html 示例三:与 WebClient 的配合使用,以抓取 CSDN 论坛内容为例

WebClient 是做内容采集经常会用到的类,提供了方便的获取网页内容的方法。但是获取到的是字符串类型,如果使用 Less.Html 解析成节点树,可以大大的加快开发的速度:

WebClient client = new WebClient();

client.Encoding = Encoding.UTF8;

string aspDotNet = client.DownloadString(
    "http://bbs.csdn.net/forums/ASPDotNET");

var q = HtmlParser.Query(aspDotNet);

var title = q(".forums_title");

foreach (Element i in title)
{
    this.WriteLine(i.textContent);
}

上面的代码以抓取 CSDN 的 asp.net 论坛为例,列出了帖子的列表,代码总共就这么几行。

css 选择器参数“.forums_title”就指定了帖子列表的标题,然后用 DOM 标准的 textContent 属性输出元素里面的文本内容就可以了。

本示例代码:GitHub

运行结果:

粤ICP备15047625号-2