通过HtmlAgilityPack实现网页信息抓取

.net爬虫使用HtmlAgilityPack爬取网络数据 提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言 #pandas_19 二、使用步骤 1.引入库 2.读入数据 总结 前言 最近在研究python爬虫,发现没有网上传的那么神奇,其实也只是python中爬虫类库比较丰富,其中的的request、json、selenium这些爬虫类库,.net也是有的,并且实现也不是很困难(本人还是很倾向C#/net的毕竟开发启蒙语言是这个)所以本文简单介绍下.net爬虫。这里在开始之前先看下我用爬虫爬取数据 阅读详情

来自:http://www.189works.com/article-40082-1.html

摘要: 1. 下载Html Agility Pack,解压保存到本地 下载地址:http://htmlagilitypack.codeplex.com/ 1 void caijisoufun() 2 { 3 try 4 { 5 6 HtmlAgilityPack.HtmlDocument doc = new HtmlAgilityPack.HtmlDocument(); 7 ...
1. 下载Html Agility Pack,解压保存到本地 下载地址: http://htmlagilitypack.codeplex.com/
 
 1 void caijisoufun()
 2     {
 3         try
 4         {
 5             
 6             HtmlAgilityPack.HtmlDocument doc = new HtmlAgilityPack.HtmlDocument();
 7             String str = "http://esf.wuxi.soufun.com/agent/agent/AloneHouseList.aspx?agentid=160148311&housetype=esf&price=&roomtype=&district=&page=1";
 8         
 9             String htmlstr = fhttp2(str);//获取html页面的源文件
10             doc.LoadHtml(htmlstr);
11             HtmlNode navNode = doc.GetElementbyId("right");//获取id为right的节点
12             //print(navNode.InnerHtml);
13             HtmlNodeCollection categoryNodeList = navNode.SelectNodes("//div[1]/table/tr[1]/td[1]/a[1]"); //分析html结构
14 
15             HtmlNode temp = null;
16 
17             foreach (HtmlNode categoryNode in categoryNodeList)
18             {
19                 temp = HtmlNode.CreateNode(categoryNode.OuterHtml);
20                
21                 String url = "http://esf.wuxi.soufun.com" + temp.Attributes["href"].Value;
22                 println(url);//其实就是个Response.Write
23                 String showstr = fhttp2(url);
24                 HtmlAgilityPack.HtmlDocument doc2 = new HtmlAgilityPack.HtmlDocument();
25                 doc2.LoadHtml(showstr);
26                 HtmlNode cnode = doc2.GetElementbyId("wrap");
27                 HtmlNode title = cnode.SelectSingleNode("//div[2]/div[1]/h1[1]/font[1]");
28                 println(title.InnerText);//
29                 //这里就可以做很多事情了,包括楼盘户型全部可以通过抓取获得信息,导入自己的数据库。
30                 flush();
31                 sleep(10);
32               
33                 //println(temp.Attributes["href"].Value);
34             }
35             
36         }
37         catch (Exception ex)
38         {
39             println(ex);
40         }
41     }
42 
43     String fhttp2(String url)
44     {
45         try
46         {
47             WebRequest rGet = WebRequest.Create(url);
48             WebResponse rSet = rGet.GetResponse();
49             Stream s = rSet.GetResponseStream();
50             StreamReader sr = new StreamReader(s, Encoding.GetEncoding("GB2312"));
51             StringBuilder sb = new StringBuilder();
52             String Str;
53 
54             while ((Str = sr.ReadLine()) != null)
55             {
56                 sb.Append(Str + "\n");
57             }
58 
59             sr.Close();
60             s.Close();
61             rSet.Close();
62 
63             return tostr(sb);
64         }
65         catch (Exception e)
66         {
67             return "";
68         }
69     }


HtmlAgilityPack获取HTML节点内容 使用HtmlAgilityPack进行开发的一个小实例.供需要的人进行参考. 立即下载

相关推荐

学习笔记( 11 ) - 解决:finalshell连接虚拟机(ubuntu)超时,主机ping不通虚拟机,主机没有VMnet8网卡, Connection refused: connect

解决:finalshell连接虚拟机(ubuntu)超时,主机ping不通虚拟机,主机没有VMnet8网卡, Connection refused: connect

烟溪彭于晏的博客 2万+

别再死记硬背公式了!手把手带你推导GNSS中的宽巷、窄巷与无电离层组合

本文详细推导了GNSS中的宽巷、窄巷与无电离层组合公式,揭示其数学本质与应用场景。通过基础观测方程逐步分析,帮助工程师深入理解组合设计逻辑,提升定位精度与可靠性,特别适合GNSS高精度定位领域的从业者学习参考。

weixin_30325487的博客 400

告别手动!用Python+CATIA V5/V6自动生成三视图和标题栏(附完整代码)

本文详细介绍了如何利用Python和CATIA V5/V6实现工程图自动生成,包括三视图布局和标题栏填写。通过COM接口调用和智能算法,系统能自适应不同尺寸模型,大幅提升设计效率。附完整代码和部署方案,帮助团队实现从手动到自动化的转变。

weixin_42699679的博客 353

VB.net使用HTML解析组件HtmlAgilit…

之前虽然研究过一点.net winform下网页抓取的技术,但是没有实际项目应用也就没有深入了,最近又用到了这个需求,好好记录一下学习的过程 首先要介绍的是这个神器叫做HtmlAgilityPack,是一个DLL存在的扩展,下载地址:http://htmlagilitypack.codeplex.com/ 解压缩后根据要用的.net版本选择对应的dll文件就行了 一直在用Visual Studi...

Dexter's Laboratory 4217

STC8G1K08A的10位PWM避坑指南:为什么你的占空比调节总失效?(附寄存器操作时序图)

本文深入剖析了STC8G1K08A单片机10位PWM功能中占空比调节失效的核心原因,揭示了数据手册未明确指出的寄存器操作时序陷阱。通过对比错误与正确配置的波形,文章指出关键在于更新占空比高2位前需临时关闭PWM输出,并提供了经过验证的安全操作宏与函数库,帮助开发者彻底解决此问题,实现0%-100%的平滑控制。

yyy34的博客 747

从Low Byte解析DTC故障类型:系统开发中的诊断精细化实践

本文深入解析DTC故障诊断中Low Byte的关键作用,详细介绍了其在系统开发中的精细化应用实践。通过分析Low Byte的编码规则和故障分类设计,帮助开发者优化诊断数据库和解码方案,提升汽车电子系统的故障诊断效率和准确性。

weixin_28312391的博客 263

HtmlAgilityPack.dll网页抓取数据

根据公司的需求需要到指定网站抓取相关数据,即爬虫。                  网上有很多的工具以及第三方的dll,也可以用WebClient等进行抓取网站内容   ,或者使用一些正则解析、截取字符串。             所以在网上搜索一下,发现HtmlAgilityPack这个第三方的dll很不错,都是封装   好的方法,直接调用即可。是将gtml转化成xml,然后

希望能找到你的答案 13万+

【雕爷学编程】Arduino智能家居之DS18B20温度传感器

1、温度和湿度控制:通过连接温度传感器和湿度传感器,Arduino可以实时监测室内环境的温度和湿度,并通过控制空调、加热器或加湿器等执行器,实现室内温湿度的自动调节。设计用户友好的界面和操作方式,提供简单直观的控制和反馈机制,以及考虑用户习惯和需求,能够提升系统的整体用户体验。这意味着用户可以根据自己的需求和创意,自定义和定制智能家居系统的功能和外观。5、能源管理:Arduino可以与电能监测模块和智能插座等设备结合使用,实时监测家庭能源的使用情况,并通过自动控制电器设备的开关,实现能源的有效管理和节约。

雕爷学编程 2873

使用HtmlAgilityPack快速实现网页爬虫

本文视频教程可以查看百度经验:https://jingyan.baidu.com/article/af9f5a2d57738c43140a45d9.html 在之前做的一些项目中,遇到过需要从别的网站爬取信息的功能。我都是用HttpWebRequest获取网站源码,然后再自己分析内容去解析的。今天在做项目时,又遇到需要从别的网站爬取信息的功能。因为自己比较懒,不想花时间去学正则表达式,但是不用正...

badaaasss的专栏 6710

太美了!现代女主jk海军风穿搭四视图

哪个女孩子初高中的时候不买几套JK衣服啊,穿上完全是青春女孩。那还愣着干啥,不得也给你的漫剧女主也穿上!直接就是分享三套JK穿搭,红棕双麻花辫配经典水手服,是那种乖乖巧巧的元气学妹;粉色羊毛卷双马尾,搭配蝴蝶结和小挎包甜度直接拉满;还有灰棕色侧麻花辫,浅蓝上衣配黑色百褶裙,温柔里又带点小酷。下面把这三套角色的完整提示词分享出来,喜欢哪套就拿去参考,改改发型和配色,还能继续解锁新角色!

欢迎来到鸾姝淡月博客,专为程序员和编程爱好者打造的技术博客。我们分享编程语言趋势、开发工具、编程哲学、职业发展等,助你掌握新技术,优化技能,激发编程热情。 51

基于Pycatia的智能孔特征识别技术:无参模型圆心自动化提取方案

基于Pycatia的智能孔特征识别技术:无参模型圆心自动化提取方案

KE17RS的博客 2877

通过HtmlAgilityPack实现网页信息抓取。

1. 下载Html Agility Pack,解压保存到本地 下载地址: http://htmlagilitypack.codeplex.com/ void caijisoufun()2 {3 try4 {5 6 HtmlAgilityPack.HtmlDocument doc = new Htm...

aizhentang4540的博客 229

基于全局和局部接受性因果特征的广义学习模型,用于在线增量机械故障诊断

本文提出了一种**因果广义学习模型(CBLM)**,用于在线增量机械故障诊断。该模型结合了**全局因果特征**(时域、频域、故障特征频率均值)和**多尺度局部因果特征**(通过扩张卷积提取),构建了一个具有**增量学习能力**的广泛学习系统(BLS)。CBLM支持**结构增量学习**(增加增强节点)和**样本增量学习**(动态更新权重),无需重新训练整个模型,显著提高了计算效率和诊断精度。在两个滚动轴承数据集上的实验表明,CBLM在诊断准确性和训练时间上均优于传统深度学习模型,适用于在线实时故障诊断。

huanghm88的专栏 387

c#使用 HtmlAgilityPack来进行抓取和解析来获得table表格信息

项目上要用到抓取网页,最后选用了HtmlAgilityPack来进行。 官网地址:https://html-agility-pack.net/,可以看一下 基础的: // From File var doc = new HtmlDocument(); doc.Load(filePath); // From String var doc = new HtmlDocument(); ...

weixin_30348519的博客 1021

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

Camera2Demo

在Camera2 的基础上进行封装,使得Camera2一堆初始化逻辑与Activity分离,降低耦合度,完成预览拍照并保存的操作

C#之使用HtmlAgilityPack进行网页抓取

以上就是大概的代码 重点是执行到通过HtmlAgilityPack进行选择和截取的时候 需要打断点多去查看获取的信息 然后进行修改 代码很简单 就这样.HtmlAgilityPack是是一个.NET平台下的HTML解析库,它可以将HTML文本转换为DOM文档对象,方便我们对HTML文本进行操作和分析。使用之前需要下载好HtmlAgilityPack类库 然后对它进行一个引用。

ioccc785的博客 901

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

使用HtmlAgilityPack实现简单的博客园主页内容抓取(2014-03-31)

一、时间:   2014-03-31 18:08:32,又到了下班的时间了,忙了一天,也累了,中午都没吃饭。。。。。 二、事件:   win8刚出来那会,有个想法,想做一个第三方的博客园软件应用,奈何技术太渣,琐事良多,只能不了了之,最近想自己做个网站,于是就想抓取园子里面的内容,因为每天看博客都会让我成长,学到很多! 三、实现方法:   本来想自己存取网...

weixin_30784945的博客 115

IDEA的使用指南

IDEA基于java的使用手册,可以最快速的上手,在使用中不断的丰富自己的使用技巧.

使用HttpWebRequest和HtmlAgilityPack抓取网页(拒绝乱码,拒绝正则表达式)

原文:使用HttpWebRequest和HtmlAgilityPack抓取网页(拒绝乱码,拒绝正则表达式)  废话不多说, 直接说需求。 公司的网站需要抓取其他网站的文章,但任务没到我这,同事搞了一下午没搞出来。由于刚刚到公司, 想证明下自己,就把活揽过来了。因为以前做过,觉得应该很简单,但当我开始做的时候,我崩溃了,http请求后,得到的是字符串竟然是乱码,然后就各种百度(谷歌一直崩溃中),...

weixin_34274029的博客 94

使用HtmlAgilityPack爬取网站信息并存储

前言:打算做一个药材价格查询的功能,但刚开始一点数据都没有靠自己找信息录入的话很麻烦的,所以只有先到其它网站抓取存到数据库再开始做这个了。 HtmlAgilityPack在c#里应该很多人用吧,简单又强大。之前也用它做过几个爬取信息的小工具。不过很久了源代码都没有了,都忘了怎么用了,这次也是一点一点找资料慢慢做出来的! (不过最麻烦的是将数据存到mysql,.net数据库我一直用的都是mssq...

何足道也 325

C# HtmlAgilityPack 爬虫框架

这两天公司不是很忙,在某个网站看见别人爬虫出来的数据感觉很有兴趣就玩了一把,网上找了一个HtmlAgilityPack 爬虫框架,用了一下感觉很不错 首先从Nuget上面更新Package:HtmlAgilityPack 然后就可以开始码代码了,这个框架的具体使用方法详见百度,2333 比如之家的: private void Ithome() { ...

weixin_30699955的博客 152

如何獲取網頁上的內容

如何獲取http://cheman.chemnet.com/dict/zd.html網頁中cas號中的信息為例 第一步:到http://htmlagilitypack.codeplex.com/網上下載簡單好用的快速 HTML Parser,HtmlAgilityPack.dll文件 第二步:到VS中建一個控制台應用程式,將HtmlAgilityPack.dll文件引用。 第三步:在CS

auyeung_anne的专栏 765

c 如何趴html内容,CSharp抓取HTML网页内容

using mshtml;using HtmlAgilityPack;class HTMLCrawler{private PhaseResultBean PhaseHtml(int index, Uri uri, String szResultPath, String szErrorPath, HTMLEnginType htmlEngin){PhaseResultBean result = ne...

weixin_39821330的博客 175

C#多线程爬虫抓取免费代理IP

这里用到一个HTML解析辅助类:HtmlAgilityPack,如果没有网上找一个增加到库里,这个插件有很多版本,如果你开发环境是使用VS2005就2.0的类库,VS2010就使用4.0,以此类推..........然后直接创建一个控制台应用,将我下面的代码COPY替换就可以运行,下面就来讲讲我两年前做爬虫经历,当时是给一家公司做,也是用的C#,不过当时遇到一个头痛的问题就是抓的图片有病毒,然后系

nobb111的博客 3706

HtmlAgilityPack组件

HtmlAgilityPack组件用于解析Html字符串,一个典型的应用场景是用于网页爬虫。 示例程序 using Common.Tools; using Datebase.Entity; using HtmlAgilityPack; using Http.Extension; using ServiceStack.Orm.Extension.Imples; using Se...

weixin_30367169的博客 142

浅谈C#解析网页

最近做了一个项目,要求获取各大主流网页上的关键信息,本人以前了解过网页爬虫的知识,所以想到了网页爬虫了实现功能 第一次尝试: 采用webclient获取远程网页的内容,然后采用正则表达式进行过滤 但,由于正则表达式对我来说,书写起来比较复杂,研究个大半个月,一点进展都没有,每天看着正则表达式像看天书(回头需要向正则牛逼的人请教一下) 第一次尝试失败,项目马上就要验收了,这个功能一直卡壳了,...

weixin_34228387的博客 279
上一篇: c#蜘蛛程序之HTML解析利器HtmlAgilityPack
下一篇: HTML Agility Pack 搭配 ScrapySharp
ArvinStudy
博客等级 码龄15年 83粉丝 193原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值