using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using HtmlAgilityPack;
using System.Net;
using System.IO;
namespace htmlagilitypackDemo
{
class Program
{
private const string CategoryListXPath = "./div[2]/div"; //关键点,不同网站分析不同的路径
private const string CategoryNameXPath = "./table[1]/tr[1]/td[2]/h3[1]"; //关键点,不同网站分析不同的路径
private const string ChooseXPath = "./a[1]";
static void Main(string[] args)
{
Demo_1();
Console.Read();
}
static void Demo_1()
{
Uri url = new Uri("http://news.sogou.com/news?query=%BA%A3%B6%FB&p=42230305&dp=1&_ast=1353663787&_asf=news.sogou.com&time=0&w=03009900&sort=1&mode=1&manual=");
Uri uriCategory = null;
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
WebResponse response = request.GetResponse();
Stream stream = response.GetResponseStream();
StreamReader read = new StreamReader(stream, Encoding.GetEncoding("gb2312"));
string str = read.ReadToEnd();
HtmlDocument html = new HtmlDocument();
html.LoadHtml(str);
//HtmlNode rootNode = html.DocumentNode;
HtmlNode rootNode = html.GetElementbyId("main");
HtmlNodeCollection categoryNodeList = rootNode.SelectNodes(CategoryListXPath);
HtmlNode temp = null;
var list = new List<Category>();
foreach (HtmlNode categoryNode in categoryNodeList)
{
temp = HtmlNode.CreateNode(categoryNode.OuterHtml);
HtmlNode singleNode = temp.SelectSingleNode(CategoryNameXPath);
if (singleNode == null)
continue;
HtmlNodeCollection singleList = temp.SelectNodes(CategoryNameXPath);
foreach (HtmlNode node in singleList)
{
HtmlNode createNode = HtmlNode.CreateNode(node.OuterHtml);
HtmlNode reNode = createNode.SelectSingleNode(ChooseXPath);
if (reNode == null)
continue;
Category category = new Category();
category.Subject = reNode.InnerText;
Uri.TryCreate(url, reNode.Attributes["href"].Value, out uriCategory);
category.IndexUrl = uriCategory.ToString();
list.Add(category);
Console.WriteLine("name:{0}",category.Subject);
Console.WriteLine("url:{0}",category.IndexUrl);
//break;
}
}
}
}
public class Category
{
public string Subject { get; set; }
public string IndexUrl { get; set; }
}
}
相关推荐
HtmlAgilityPack在.NET中的图片抓取与下载技巧
本文还有配套的精品资源,点击获取 简介:本文介绍如何使用HtmlAgilityPack库,一个用于.NET平台的强大HTML解析器,来抓取和下载特定网站上的图片。通过NuGet包管理器安装HtmlAgilityPack后,利用XPath或LINQ查询定位HTML中的 img 标签,并下载图片资源。示例代码展示了如何处理HTML文档、查询图片节点、下载图片数据以...
使用HtmlAgilityPack库的下载程序的C#代码
这个程序会下载https://yun.baidu.com/的内容,并使用指定的代理服务器(www.duoip.cn,端口8000)。- 使用`DownloadString`方法下载URL的内容,将结果存储在`result`变量中。- 输出下载到的内容,使用`Console.WriteLine`方法。- 使用`WebClient`类创建一个WebClient对象。- 设置代理服务器,使用`Proxy`属性。- 设置要下载的URL,使用`url`变量。
htmlagilitypack.1.11.62.zip
htmlagilitypack.1.11.62
【VS2019】安装下载库HtmlAgilityPack,可解析 HTML (图文详情)
【WCF】安装下载库HtmlAgilityPack,可解析 HTML
C# 各版本 HtmlAgilityPack 类库 HtmlAgilityPack.dll
C# 各版本 HtmlAgilityPack 类库 HtmlAgilityPack.dll net 2.0 net 3.5 net 4.0
htmlAgilityPack
HtmlAgilityPack是一个基于.Net的、第三方免费开源的微型类库,主要用于在服务器端解析html文档(在B/S结构的程序中客户端可以用Javascript、jquery解析html)。
HTML
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Web.UI; using System.Web.UI.WebControls; using HtmlAgilityPackDemo.Comm; namespace HtmlAgilityPackDem...
htmlagilitypack.1.8.8
C#之HTML解析利器HtmlAgilityPack类库 使用HtmlAgilityPack类库可对HTML页面进行节点解析
爬虫技术 -- 进阶学习(九)使用HtmlAgilityPack获取页面链接(附c#代码及插件下载)...
菜鸟HtmlAgilityPack初体验。。。弱弱的代码。。。 Html Agility Pack是一个开源项目,为网页提供了标准的DOM API和XPath导航。使用WebBrowser和HttpWebRequest下载的网页可以用Html Agility Pack来解析。 HtmlAgilityPack的文档是CHM格式的,有时会无法正常阅读CHM格式的文件。如果是IE不能链接到...
基于FreeRTOS与MQTT的物联网技术应用系列——步进电机控制(三)SD卡驱动、FatFS等的移植和ini配置文件读取的实现
本文实现了基于STM32F107VC的金牛开发板的基于SPI模式的SD卡驱动和FatFS的移植,以及利用minini库对ini配置信息文件进行读取。
SFR算法实现详解:从边缘检测到MTF计算的完整流程
本文详细解析了SFR算法从边缘检测到MTF计算的完整流程,包括边缘检测、ESF超采样、LSF差分等关键步骤。通过代码示例和实战经验,帮助开发者高效实现成像系统解析力评估,优化MTF测量精度。适用于摄像头模组调试、工业检测等场景。
C#解析html文档类库HtmlAgilityPack下载地址
新:http://html-agility-pack.net/?z=codeplex 原:http://htmlagilitypack.codeplex.com/ 转载于:https://www.cnblogs.com/XuPengLB/p/7883588.html
各种加法器的比对分析与Verilog实现(3)
了Kogge-Stone加法器和brent-kung加法器,本文将用Verilog代码进行实现。
使用Html Agility Pack快速实现解析Html(C#)
传统解析html标签的方式是利用HttpWebRequest获取html字符串,然后通过正则表达式进行解析,但是这种方式比较麻烦。有没有更简单的方式呢?有,那就是Html Agility Pack,它可以做到像用XmlDocument类来解析xml一样轻松、方便,并且是开源的 其源代码可以通过github下载,下载地址为:https://github.com/zzzprojects/html-a...
VS2015+C++实战:手把手教你用海康MVS里的Demo搞定多相机同步采图与保存
本文详细解析了在VS2015+C++环境下,利用海康威视MVS工业相机SDK实现多相机同步采图与保存的全流程。从环境准备、SDK选择到多相机初始化、同步采图方案,再到异常处理与性能优化,提供了实战技巧和代码示例,帮助开发者快速掌握工业相机二次开发的核心技术。
OAI数据集申请下载全攻略:从个人NDA账号注册到数据包下载的保姆级避坑指南
本文提供OAI数据集申请下载的完整指南,涵盖从个人NDA账号注册到数据包下载的全流程。重点解析login.gov验证陷阱、浏览器兼容性问题、NDA权限申请技巧及nda-tools高效使用方法,帮助医学影像研究者避开常见技术障碍,快速获取全球骨关节炎研究数据库OAI的宝贵数据资源。
Html Agility Pack基础类介绍及运用
第一篇只对Html Agility Pack做了一个大概的介绍,在接下来的章节会比较深入的介绍Html Agility Pack。 Html Agility Pack 源码中的类大概有28个左右,其实不算一个很复杂的类库,但它的功能确不弱,为解析DOM已经提供了足够强大的功能支持,可以跟jQuery操作DOM媲美:) 基础类和基础方法介绍 Html Agility Pack最常用的...
使用 ABAP Development Tool 登录 SAP BTP ABAP 环境时,遇到弹出框应该怎么办?
但在实际环境里,隐私模式、第三方 Cookie 禁止、跨站追踪限制、缓存代理误命中、混合内容拦截等因素,都可能让这条跳转链路被打断。等),浏览器会弹出系统原生登录框,请求用户输入账号和口令或做集成认证。只要它们在响应头里出现,浏览器就会理直气壮地弹框,这是协议层的强约定。,最终弹出原生登录框。前端与网关领域有个通用的经验规则:如果你看到了原生登录框,而期望的是带样式的。环境里的登录方式表述为基于浏览器的前端认证,也就是这类重定向式的交互。环境的具体落地,拆出几类常见诱因与排障路径,并穿插真实世界的案例。
HtmlAgilityPack——解析html和采集网页的神兵利器
HtmlAgilityPack是一个基于.Net的、第三方免费开源的微型类库,主要用于在服务器端解析html文档(在B/S结构的程序中客户端可以用Javascript解析html)。截止到本文发表时,HtmlAgilityPack的最新版本为1.4.0。下载地址:http://htmlagilitypack.codeplex.com/ 下载后解压缩后有3个文件,这里只需要将其中的HtmlAgil...
Qt入门教程【Core篇】singal and slot信号与槽
Qt中信号与槽singal and slot
你的小程序地图功能还只是“摆设”吗?支付宝地图API的深度玩法都在这里了!
🏆本文收录于《滚雪球学支付宝小程序开发》专栏,希望能够助你一臂之力,帮你早日登顶实现财富自由🚀;同时,欢迎大家关注&&收藏&&订阅!持续更新中,up!up!up!!
HTML Agility Pack 教程
HTML Agility Pack 教程 1. 项目目录结构及介绍 HTML Agility Pack(HAP)是一个用于.NET平台的HTML解析库,其目录结构大致如下: . ├── src # 源代码目录 │ ├── HtmlAgilityPack # 核心库源码 │ └── Test # 测试用例 └── samples ...
visio安装包
Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。
C#之HTML解析利器HtmlAgilityPack类库
1.下载HtmlAgilityPack.dll并将其添加引用到项目中,然后在代码中声明引用。 下载地址:http://www.codeplex.com/htmlagilitypack 引用: using HtmlAgilityPack; 2.下载获取HTML页面的步骤和我上篇文章里介绍的差不多,都是先用WebClient或者WebReques
ssm框架搭建
这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载
jre9下载 jdk9
(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】
HTML Agility Pack:簡單好用的快速 HTML Parser
HTML Agility Pack:簡單好用的快速 HTML Parser Codeplex 軟體套件(Package)資訊 套件名稱 HTML Agility Pack 作者 Simon Mourier 目前版本 1.4.0 Beta 2 URL http://htmlagilitypack.codeplex.com/ ...
Camera2Demo
在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作
Html Agility Pack完整入门教程:从零开始掌握HTML解析神器
Html Agility Pack(简称HAP)是.NET平台上最强大的HTML解析库之一,这个免费的C#开源工具能让你轻松处理"网页外"的HTML文件。作为终极HTML解析解决方案,HAP构建了可读写的DOM模型,支持XPATH和XSLT,而且对"现实世界"中格式不规范的HTML具有出色的容错能力。🚀 ## ✨ 为什么选择Html Agility Pack? 在Web开发和数据抓取中,处理
1470



被折叠的 条评论
为什么被折叠?



