您的位置:首页 > Web前端 > HTML

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

2017-06-27 12:46 295 查看
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("table.child_forum tr td.title");

foreach (Element i in title)
{
q(i).find(".forum_link").remove();

this.WriteLine(i.textContent);
}

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

css 选择器参数“table.child_forum tr td.title”就指定了帖子列表的标题,在循环的时候,调用了 remove 方法,这是因为标题里面有一个隐藏的元素,然后用 DOM 标准的 textContent 属性输出元素里面的文本内容就可以了。

本示例代码:GitHub   

码云

运行结果:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: