C# 采集页面
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了C# 采集页面,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1654字,纯文字阅读大概需要3分钟。
内容图文
![C# 采集页面](/upload/InfoBanner/zyjiaocheng/1049/541dde79f4334008910372c8a4ba61d9.jpg)
首先大家需要清楚一点的是:任何网站的页面,无论是php、jsp、aspx这些动态页面还是用后台程序生成的静态页面都是可以在浏览器中查看其HTML源文件的。
![bubuko.com,布布扣](/upload/getfiles/default/2022/11/13/20221113113854283.jpg)
所以当你要开发数据采集程序的时候,你必须先对你试图采集的网站的前台页面结构(HTML)要有所了解。
当你对要采集数据的网站里的HTML源文件内容十分熟悉之后,剩下程序上的事情就很好办了。因为C#对Web站点进行数据采集其原理就在于“把你要采集的页面HTML源文件下载下来,分析其中HTML代码然后抓取你需要的数据,最后将这些数据保存到本地文件”。
基本流程如下图所示:
首先引用System.Net命名空间
using System.Net;
此外还需引用
using System.Text;
using System.IO;
引用完后实例化一个WebClient对象
private WebClient wc = new WebClient();
调用DownloadData方法将指定网页的源文件下载一组BYTE数据,然后将BYTE数组转为字符串。
//下载页面源文件并将其转换成UTF8编码格式的STRING
string mainData = Encoding.UTF8.GetString(wc.DownloadData(string.Format("你要采集的网页地址")));
或则也可以调用DownloadFile方法,先将源文件下载到本地然后再读取其字符串
//下载网页源文件到本地
wc.DownloadFile("你要采集的网页URL","保存源文件的本地文件路径");
//读取下载下来的源文件HTML格式的字符串
string mainData = File.ReadAllText("保存源文件的本地文件路径",Encoding.UTF8);
有了网页HTML格式字符串,就可以对网页分析采集并抓取你所需要的内容了。
2.页面分析采集
页面分析就是要将网页源文件中某个特定或是唯一的字符(串)作为抓取点,以这个抓取点作为开端来截取你想要的页面上的数据。
以博客园为列,比方说我要采集博客园首页上列出来的文章的标题和链接,就必须以"<a class="titlelnk" href=""作为抓取点,以此展开来抓取文章的标题和链接。
CODE:
//以"<a class="titlelnk" href=""作为抓取点开始采集
mainData=mainData.Substring(mainData.IndexOf("<a class="titlelnk" href="") + 26);
//获取文章页面的链接地址
string articleAddr = mainData.Substring(0,mainData.IndexOf("""));
//获取文章标题
string articleTitle = mainData.Substring(mainData.IndexOf("target="_blank">") + 16,
mainData.IndexOf("</a>") - mainData.IndexOf("target="_blank">") - 16);
注意:当你要采集的网页前台HTML格式变了之后,作为抓取点的字符窜也因做相应地改变,否则是采集不到任何东西的
3.数据保存
当你把需要的数据从网页截取下来后,将数据在程序中稍加整理保存到本地文件(或插入到自己本地的数据库中)。这样整个采集工作就算搞一段落了。
//输出数据到本地文件
File.AppendAllText(CreateFolderIfNot(Settings.Default.OutPath) + articleTitle + ".txt",
articleData,
Encoding.UTF8);
原文:http://www.cnblogs.com/wgrlt/p/4050501.html
内容总结
以上是互联网集市为您收集整理的C# 采集页面全部内容,希望文章能够帮你解决C# 采集页面所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。