.Net Core HTML解析利器之HtmlAgilityPack

一 、HtmlAgilityPack简介

这是一个敏捷的HTML解析器,它构建了一个读/写DOM,并支持简单的XPATH或XSLT(实际上,你实际上并不了解XPATH和XSLT来使用它,不必担心)。它是一个.NET代码库,可以让您解析“出网”HTML文件。解析器非常宽容“现实世界”畸形的HTML。对象模型与提出的System.Xml非常相似,但对于HTML文档(或流)来说是非常相似的。

官网地址:http://html-agility-pack.net/

Git地址:https://github.com/zzzprojects/html-agility-pack

NuGet地址 :https://www.nuget.org/packages/HtmlAgilityPack/

命令:

Install-Package HtmlAgilityPack

二、HtmlWeb爬去网页示例:

1.使用Nuget包工具安装

2.解析www.gongjuji.net首页列表项

//操作 逻辑 :
//1.获取col-md-4 的div 列表
//2.遍历col获取标题和链接

HtmlWeb web = new HtmlWeb();
HtmlDocument doc = web.Load("http://www.gongjuji.net");
string rowPath = "/html/body/div[2]/div[2]/div";
HtmlNodeCollection cols = doc.DocumentNode.SelectNodes(rowPath);
foreach (var item in cols)
{
    //解析 内部的 .thumbnail内容
    HtmlNode thumbnail = HtmlNode.CreateNode(item.InnerHtml);
    //获取h3的内容和a标签 的链接
    HtmlNode h3 = thumbnail.SelectSingleNode("//h3");
    Console.Write(h3.InnerText + ":     ");
    HtmlNode a = thumbnail.SelectSingleNode("//a");
    Console.WriteLine(a.Attributes["href"].Value);
}

3.解析结果:

跟多使用相关:

C# HTML解析工具HtmlAgilityPack使用实例(二)--Web页面

C# HTML解析工具HtmlAgilityPack使用实例(一)

C# HTML解析工具HtmlAgilityPack使用简介

C# HTML解析工具HtmlAgilityPack XPath 模糊查询not()函数和contains()函数

时间: 2024-10-10 17:28:47

.Net Core HTML解析利器之HtmlAgilityPack的相关文章

后台任务利器之Hangfire

后台任务利器之Hangfire 一.简述 Hangfire作为一款高人气且容易上手的分布式后台执行服务,支持多种数据库.在.net core的环境中,由Core自带的DI管理着生命周期,免去了在NF4.X环境中配置always running的麻烦,真正做到开箱即用. 二.安装 Hangfie官方支持是MsSql和redis,除此之外,可供选择的还有PostgreSql和Mongo.在应用入口项目需要引用Hangfire.AspNetCore和特定持久库,比如使用了MsSql数据库的Hangfi

Android UI开发神兵利器之Angrytools

最近很多人在问我,个人App开发者如何去设计UI. 其实这是个人开发者最头痛的问题,搞技术的人,确实没法做到面面俱到,不可能花大量的时间去切图,去做原型设计,去做美工. 当然,虽然我们设计不出那么复杂,精巧的UI,但是简单的东西,我们在没有美工的基础上,通过一些手段,也是可以做的不错的,从本文开始,我们将介绍一些关于Android界面开发的神兵利器,正是这些大神们开发的工具,让Coder也能做出一些不是那么见不得人的设计. Angrytools,我们今天的主角,我想当初作者也是被UI弄的Angr

Linux菜鸟升级利器之ansible

一.absible是什么? ansible是一款简单的.开源的自动化管理工具.它通过Openssh工作,没有服务器:并且被管理的客户端上面并不需要安装什么客户端软件或启动什么守护进程,没有客户端:扩展模块可以使用任何语言编写:命令自动传输到管理机执行,并返回结果: 二.安装ansible 安装ansible需要使用Fedora的EPEL源,所以要先配置好yum的epel源,在yum源文件中添加: [base1] name=epel baseurl=http://dl.fedoraproject.

web开发利器之grunt

伴随着项目的多样化和复杂化,前端的代码维护和管理(打包.压缩等等)也越来越难以维护,人为的疏忽往往会导致不可预期的错误,对于这样的错误给我们带来了很多的麻烦和多余的工作量:对于前端的项目携同开发来说,我们每个人均会负责不同板块,将JS.CSS拆解成各自个的模块单独开发,为了方便管理这些模块均为独立的文件,而为了页面加载速度(增加了文件个数这时也产生过多的Http请求,影响页面加载速度)我们又不得不将这些文件进行合并.压缩等等,早期我们会用YUI做这些事但如今我们需要的却更多(如项目的源代码做单元

Android UI开发神兵利器之Android Action Bar Style Generator

ActionBar是3.0后的UI设计规范,同时也是Google极力推荐使用的设计风格,如何快速设计一个入眼的ActionBar呢,更进一步,给我们搭好一个入眼的ActionBar的模板吧,于是Android Action Bar Style Generator就出来了:http://jgilfelt.github.io/android-actionbarstylegenerator/ 国际惯例,上图 一目了然,小清新加大方便:大家应该都知道怎么用了吧,so easy! Android UI开发

Android UI开发神兵利器之Icon

好的设计离不开Icon 话不多,介绍2个国外的网站,一个用来找Icon,一个用来搞页面设计 http://dryicons.com/free-icons/ http://www.webdesignshock.com/ 简单易用,纯干货 Android UI开发神兵利器之Icon

C# 网络爬虫利器之Html Agility Pack如何快速实现解析Html

简介 现在越来越多的场景需要我们使用网络爬虫,抓取相关数据便于我们使用,今天我们要讲的主角Html Agility Pack是在爬取的过程当中,能够高效的解析我们抓取到的html数据. 优势 在.NET技术下,解析html工具也很多,比如很多人可能会使用htmlparser,或者微软的MSHTML,htmlparser虽然比较易上手,但是相对应的解析速度较慢,而Html Agility Pack解析速度相当快,并且开源,易用,它可以帮助我们解析html文档就像用XmlDocument类来解析xm

asp.net core MVC 全局过滤器之ExceptionFilter过滤器(一)

本系类将会讲解asp.net core MVC中的内置全局过滤器的使用,将分为以下章节 asp.net core MVC 过滤器之ExceptionFilter过滤器(一) asp.net core MVC 过滤器之ActionFilter过滤器(二) asp.net core MVC 过滤器之ResultFilter过滤器(三) asp.net core MVC 过滤器之ResourceFilter过滤器(四) asp.net core MVC 过滤器之AuthorizationFilter过

大数据技术之_19_Spark学习_02_Spark Core 应用解析小结

1.RDD 全称 弹性分布式数据集 Resilient Distributed Dataset它就是一个 class. abstract class RDD[T: ClassTag](    @transient private var _sc: SparkContext,    @transient private var deps: Seq[Dependency[_]]  ) extends Serializable with Logging { 继承了 Serializable 和具有 L