读取网页特定位置的信息,比如数值和图片,如何实现?给出相应的类,提示一下吧
如果不能容易的读取信息,那么如何将网页保存为文本格式?
两个问题解决任何一个都行,谢啦!
如果不能容易的读取信息,那么如何将网页保存为文本格式?
两个问题解决任何一个都行,谢啦!
解决方案 »
- fckeditor编辑器远程图片上传功能的图片路径问题。
- .net 拼音找汉字
- 大家推荐一个好用的跨平台的XML解析器(Windows,linux)
- 本地的程序,连接数据库字符串写在本地程序中,可以访问网络上的sql数据库吗?有人说只限于局域网,是吗?
- 关于winform的窗体设计问题
- 请教System.ComponentModel.CreationBundle在那个dll中?
- 怎么样用C#获取硬盘序列号,和MAC地址?
- ACCESS表中所有字段都是文本类型,用下列代码将其放入到EXCEL单元格中,发现文本“021”变成了“21”,如何解决?
- c# json 数据反序列化
- WINFORM 中LISTVIEW 打印问题
- 求一个网站示例DEMO 要有服务端 以及客户端 整体代码
- VS2008 解决方案管理器无法自动隐藏,怎么办?
HttpWebRequest httpWebRequest = WebRequest.Create(@"http://www.cnblogs.com") as HttpWebRequest;
HttpWebResponse httpWebResponse = httpWebRequest.GetResponse() as HttpWebResponse;
Stream stream = httpWebResponse.GetResponseStream();
StreamReader reader = new StreamReader(stream, Encoding.UTF8);
string s = reader.ReadToEnd();
reader.Close();
stream.Close();
httpWebResponse.Close();
HtmlDocument htmlDoc = new HtmlDocument();
htmlDoc.LoadHtml(s);
HtmlNodeCollection anchors = htmlDoc.DocumentNode.SelectNodes(@"//a[@class='titlelnk']");
foreach (HtmlNode anchor in anchors)
Console.WritleLine(anchor.InnerHtml);需要用到HtmlAgilityPack这个第三方库。s里面就是网页html代码。
Console.WriteLine(anchor.InnerHtml);
b.处理网页得到想要的数据;
c.保存数据对于a有三种方式
1.使用WebClient下载 2.使用HttpWebRequest和HttpWebResponse 3.使用WebBrowser对于b
1.正则表达式匹配; 2.使用HtmlAgilityPack对于c 按个人需求而定
抓取网页信息的类
方法和1楼差不多,只是写成了类
http://blog.csdn.net/yysyangyangyangshan/article/details/6661886
我的目的是将网页另存为TXT,就这点要求
//从url里获得web请求对象
WebRequest wrt = WebRequest.Create(@"http://topic.csdn.net/u/20120508/09/b02a45d0-936a-4eb7-b502-f1706fc19810.html?seed=1621418763&r=78530830#r_78530830");
//利用web响应对象获得请求对象的信息
WebResponse wrse = wrt.GetResponse();
//利用文件流对象获得响应对象的流信息转换成文件流文件
Stream strM = wrse.GetResponseStream();
//防止乱码
StreamReader SR = new StreamReader(strM, Encoding.GetEncoding("UTF-8"));
string strallstrm = SR.ReadToEnd();
byte[] array = Encoding.UTF8.GetBytes(str);
MemoryStream stream = new MemoryStream(array);
StreamWriter writer = new StreamWriter(stream, Encoding.UTF8 );
string addr = @"C:\新建 文本文档.txt";
File.Create(addr );
writer.Write(addr);
writer.Flush();
writer.Close();
stream.Close();结果是 新建 文本文档.txt 里边有很多无用信息,例如<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<meta content="抓取网页信息 网页保存为文本 .NET技术 C#" name="Keywords"/>
<meta content="读取网页特定位置 信息 比如数值和图片 如何实现 给出相应 类 提示一下吧 如果不能容易 读取信息 那么如何将网页保存为文本格式 两个问题解决任何一个都行 谢啦" name="description"/>
<title>抓取网页信息 网页保存为文本 - .NET技术 / C#</title>
<link href="http://c.csdn.net/bbs/t/5/t5.css" rel="stylesheet" type="text/css" />
<link href="http://www.csdn.net/images/favicon.ico" rel="SHORTCUT ICON" />
<script type="text/javascript">
var tinfo = {
pdate: "2012-05-08 09:55:12"
,sid: "e2798a59-79d5-4833-9c57-87d46a8b907a"
,tid: "b02a45d0-936a-4eb7-b502-f1706fc19810"
,ba: "DotNET"
,sa: "CSharp"
};
</script>
<script type="text/javascript" src="/u/t5/t5.js"></script>
<script type="text/javascript" src="http://counter.csdn.net/a/js/AreaCounter.js"></script>
</head>
<body id="bbscsdn_wrap"><script src="http://csdnimg.cn/pubnav/js/pub_topnav.js" type="text/javascript"></script>
<div class="tad">
<iframe id="Topic_Top" marginwidth="0" marginheight="0" frameborder="0" scrolling="no" width="100%" height="0" src="/u/t5/include/ad1.asp?pdate=2012-05-08 09:55:12&ba=DotNET&sa=CSharp"></iframe>
</div>
<div class="nav">
<a href="#">
<img class="logo" alt="" src="http://c.csdn.net/bbs/t/5/i/pic_logo.gif">
</a>
<ul class="searchpanel">
<li>
<input id="search_key" name="key" type="text" onkeyup="GoKeyDown(event);" onblur="if(!this.value)this.value='这里也许就有你要的答案... ';return true;" onfocus="if(this.value=='这里也许就有你要的答案... ')this.value='';return true;" value="这里也许就有你要的答案... " size="25">
<input class="btn" type="image" onclick="Search(event,'');return false;" src="http://c.csdn.net/bbs/t/5/i/search_btn.jpg">
</li>
</ul>
</div>
<input type="hidden" id="hf_cardUrl" value="http://forum.csdn.net/PointForum/UserCard.ashx?user=" />
<!---#-include file="topic_top.html" -->
<iframe id="frm_tt1" src="about:blank" style="width:980px;height:120px;" scrolling="no" frameborder="0"></iframe>
<script type="text/javascript">
setTimeout(function () {
document.getElementById("frm_tt1").src = "/u/t5/include/topic_top.html";
}, 5000);
</script><div class="loc">
我想要的结果是浏览器另存为TXT的结果,这样:
抓取网页信息 网页保存为文本 - .NET技术 / C#欢迎wang_da2我的:收件箱资源博客空间设置|帮助|退出CSDN首页 资讯 论坛 博客 下载
搜索 更多CTO俱乐部
学生大本营
培训充电
移动开发
软件研发
云计算
程序员
ITeye<>
TUP
CSDN-CSDN社区-.NET技术-C# 管理菜单 生成帖子 置顶 取消置顶推荐 取消推荐 锁定 解锁 移动 编辑 删除 帖子加分
帖子高亮 取消高亮
结 帖 发 帖 回 复 收藏 不显示删除回复显示所有回复显示星级回复显示得分回复 抓取网页信息 网页保存为文本[问题点数:100分]
wang_da
(wang_da) 等 级:
结帖率:83.33% 楼主发表于:2012-05-08 09:55:12读取网页特定位置的信息,比如数值和图片,如何实现?给出相应的类,提示一下吧
如果不能容易的读取信息,那么如何将网页保存为文本格式?
两个问题解决任何一个都行,谢啦! 对我有用[0] 丢个板砖[0] 引用 举报 管理 TOP 回复次数:7
dalmeeme
(无机の剑) 等 级:
#1楼 得分:0回复于:2012-05-08 10:07:52抓取博客园首页推荐文章:
C# code HttpWebRequest httpWebRequest = WebRequest.Create(@"http://www.cnblogs.com") as HttpWebRequest;
HttpWebResponse httpWebResponse = httpWebRequest.GetResponse() as HttpWebResponse;
Stream stream = httpWebResponse.GetResponseStream();
StreamReader reader = new StreamReader(stream, Encoding.UTF8);
string s = reader.ReadToEnd();
reader.Close();
stream.Close();
httpWebResponse.Close();
HtmlDocument htmlDoc = new HtmlDocument();
htmlDoc.LoadHtml(s);
HtmlNodeCollection anchors = htmlDoc.DocumentNode.SelectNodes(@"//a[@class='titlelnk']");
foreach (HtmlNode anchor in anchors)
Console.WritleLine(anchor.InnerHtml);
需要用到HtmlAgilityPack这个第三方库。 s里面就是网页html代码。
//从url里获得web请求对象
WebRequest wrt = WebRequest.Create(@"http://topic.csdn.net/u/20120508/09/b02a45d0-936a-4eb7-b502-f1706fc19810.html?seed=1621418763&r=78530830#r_78530830");
//利用web响应对象获得请求对象的信息
WebResponse wrse = wrt.GetResponse();
//利用文件流对象获得响应对象的流信息转换成文件流文件
Stream strM = wrse.GetResponseStream();
//防止乱码
StreamReader SR = new StreamReader(strM, Encoding.GetEncoding("UTF-8"));
string strallstrm = SR.ReadToEnd();
byte[] array = Encoding.UTF8.GetBytes(str);
MemoryStream stream = new MemoryStream(array);
StreamWriter writer = new StreamWriter(stream, Encoding.UTF8 );
string addr = @"C:\新建 文本文档.txt";
File.Create(addr );
writer.Write(addr);
writer.Flush();
writer.Close();
stream.Close();结果是 新建 文本文档.txt 里边有很多无用信息,例如
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<meta content="抓取网页信息 网页保存为文本 .NET技术 C#" name="Keywords"/>
<meta content="读取网页特定位置 信息 比如数值和图片 如何实现 给出相应 类 提示一下吧 如果不能容易 读取信息 那么如何将网页保存为文本格式 两个问题解决任何一个都行 谢啦" name="description"/>
<title>抓取网页信息 网页保存为文本 - .NET技术 / C#</title>
<link href="http://c.csdn.net/bbs/t/5/t5.css" rel="stylesheet" type="text/css" />
<link href="http://www.csdn.net/images/favicon.ico" rel="SHORTCUT ICON" />
<script type="text/javascript">
var tinfo = {
pdate: "2012-05-08 09:55:12"
,sid: "e2798a59-79d5-4833-9c57-87d46a8b907a"
,tid: "b02a45d0-936a-4eb7-b502-f1706fc19810"
,ba: "DotNET"
,sa: "CSharp"
};
</script>
<script type="text/javascript" src="/u/t5/t5.js"></script>
<script type="text/javascript" src="http://counter.csdn.net/a/js/AreaCounter.js"></script>
</head>
<body id="bbscsdn_wrap"><script src="http://csdnimg.cn/pubnav/js/pub_topnav.js" type="text/javascript"></script>
<div class="tad">
<iframe id="Topic_Top" marginwidth="0" marginheight="0" frameborder="0" scrolling="no" width="100%" height="0" src="/u/t5/include/ad1.asp?pdate=2012-05-08 09:55:12&ba=DotNET&sa=CSharp"></iframe>
</div>
<div class="nav">
<a href="#">
<img class="logo" alt="" src="http://c.csdn.net/bbs/t/5/i/pic_logo.gif">
</a>
<ul class="searchpanel">
<li>
<input id="search_key" name="key" type="text" onkeyup="GoKeyDown(event);" onblur="if(!this.value)this.value='这里也许就有你要的答案... ';return true;" onfocus="if(this.value=='这里也许就有你要的答案... ')this.value='';return true;" value="这里也许就有你要的答案... " size="25">
<input class="btn" type="image" onclick="Search(event,'');return false;" src="http://c.csdn.net/bbs/t/5/i/search_btn.jpg">
</li>
</ul>
</div>
<input type="hidden" id="hf_cardUrl" value="http://forum.csdn.net/PointForum/UserCard.ashx?user=" />
<!---#-include file="topic_top.html" -->
<iframe id="frm_tt1" src="about:blank" style="width:980px;height:120px;" scrolling="no" frameborder="0"></iframe>
<script type="text/javascript">
setTimeout(function () {
document.getElementById("frm_tt1").src = "/u/t5/include/topic_top.html";
}, 5000);
</script><div class="loc">
我想要的结果是浏览器另存为TXT的结果,这样:抓取网页信息 网页保存为文本 - .NET技术 / C#欢迎wang_da2我的:收件箱资源博客空间设置|帮助|退出CSDN首页 资讯 论坛 博客 下载
搜索 更多CTO俱乐部
学生大本营
培训充电
移动开发
软件研发
云计算
程序员
ITeye<>
TUP
CSDN-CSDN社区-.NET技术-C# 管理菜单 生成帖子 置顶 取消置顶推荐 取消推荐 锁定 解锁 移动 编辑 删除 帖子加分
帖子高亮 取消高亮
结 帖 发 帖 回 复 收藏 不显示删除回复显示所有回复显示星级回复显示得分回复 抓取网页信息 网页保存为文本[问题点数:100分]
wang_da
(wang_da) 等 级:
结帖率:83.33% 楼主发表于:2012-05-08 09:55:12读取网页特定位置的信息,比如数值和图片,如何实现?给出相应的类,提示一下吧
如果不能容易的读取信息,那么如何将网页保存为文本格式?
两个问题解决任何一个都行,谢啦! 对我有用[0] 丢个板砖[0] 引用 举报 管理 TOP 回复次数:7
dalmeeme
(无机の剑) 等 级:
#1楼 得分:0回复于:2012-05-08 10:07:52抓取博客园首页推荐文章:
C# code HttpWebRequest httpWebRequest = WebRequest.Create(@"http://www.cnblogs.com") as HttpWebRequest;
HttpWebResponse httpWebResponse = httpWebRequest.GetResponse() as HttpWebResponse;
Stream stream = httpWebResponse.GetResponseStream();
StreamReader reader = new StreamReader(stream, Encoding.UTF8);
string s = reader.ReadToEnd();
reader.Close();
stream.Close();
httpWebResponse.Close();
HtmlDocument htmlDoc = new HtmlDocument();
htmlDoc.LoadHtml(s);
HtmlNodeCollection anchors = htmlDoc.DocumentNode.SelectNodes(@"//a[@class='titlelnk']");
foreach (HtmlNode anchor in anchors)
Console.WritleLine(anchor.InnerHtml);
需要用到HtmlAgilityPack这个第三方库。 s里面就是网页html代码。
请大家帮忙看看怎么实现,谢谢了!