网站程序自带的采集器采集文章(网页分析采集程序的基本流程和内容图详解 )

优采云 发布时间: 2021-09-08 10:16

  网站程序自带的采集器采集文章(网页分析采集程序的基本流程和内容图详解

)

  首先大家要清楚:网站的任何页面,无论是php、jsp、aspx等动态页面,还是后台程序生成的静态页面,都可以在浏览器。

  <IMG height=275 alt="\" src="http://up.2cto.com/kf/201106/20110620102051190.gif" width=270 border=0>

  所以当你想开发一个数据采集程序时,你必须首先了解你试图采集的网站的首页结构(HTML)。

  熟悉网站中需要采集数据的HTML源文件的内容后,程序的其余部分就很容易处理了。因为C#在采集网站上执行数据,原理是“下载你想要的页面采集的HTML源文件,分析HTML代码然后抓取你需要的数据,最后将数据保存到一个本地文件。” .

  基本流程如下图所示:

  <IMG style="WIDTH: 534px; HEIGHT: 364px" height=418 alt="\" src="http://up.2cto.com/kf/201106/20110620102052524.gif" width=788 border=0>

  1.Page 源文件下载

  首先引用 System.Net 命名空间

  使用 System.Net;

  另外,需要引用

  使用 System.Text;

  使用 System.IO;

  引用后实例化一个 WebClient 对象

  私有 WebClient wc = new WebClient();

  调用 DownloadData 方法从指定网页的源文件中下载一组 BYTE 数据,然后将 BYTE 数组转换为字符串。

  //下载页面源文件并转换为UTF8编码格式的STRING

  string mainData = Encoding.UTF8.GetString(wc.DownloadData(string.Format("你想要采集的网址")));

  或者也可以调用DownloadFile方法,先将源文件下载到本地再读取其字符串

  //下载网页源文件到本地

  wc.DownloadFile("你想要的网页地址采集","保存源文件的本地文件路径");

  //读取下载的源文件HTML格式字符串

  string mainData = File.ReadAllText("保存源文件的本地文件路径",Encoding.UTF8);

  通过网页的HTML格式字符串,您可以分析网页采集并抓取您需要的内容。

  2.page analysis采集

  页面分析就是以网页源文件中某个特定的或唯一的字符(字符串)为抓点,并以此抓点为起点,截取你想要的页面上的数据。

  以博客园为专栏。例如,如果我想在采集博客园的首页列出文章的标题和链接,我必须以“

  ”开头

  <IMG style="WIDTH: 564px; HEIGHT: 281px" height=187 alt="\" src="http://up.2cto.com/kf/201106/20110620102052267.gif" width=939 border=0>

  代码:

  //with "mainData=mainData.Substring(mainData.IndexOf("

  //获取文章页面的链接地址

  string articleAddr = mainData.Substring(0,mainData.IndexOf("""));

  //获取文章title

  string articleTitle = mainData.Substring(mainData.IndexOf("target="_blank">") + 16,

  mainData.IndexOf("")-mainData.IndexOf("target="_blank">")-16);

  注意:当你要采集的网页前台的HTML格式发生变化时,作为抓点的字符通道也会相应的变化,否则采集什么都比不上

  3.数据保存

  从网页中截取到自己需要的数据后,可以在程序中对数据进行排序,保存到本地文件中(或者插入到自己的本地数据库中)。这样,整个采集作品就是一个段落。

  //输出数据到本地文件

  File.AppendAllText(CreateFolderIfNot(Settings.Default.OutPath) + articleTitle + ".txt",

  文章数据,

  Encoding.UTF8);

  另外附上我自己写的采集博客园首页文章的小程序代码。本程序的作用是发布到博客园首页的所有文章采集

  下载链接:CnBlogCollector.rar

  当然,如果博客园前端页面的格式有调整,程序的采集功能肯定是无效的。只能自己重新调整程序才能继续采集,呵呵。 . .

  程序效果如下:

  <IMG style="WIDTH: 540px; HEIGHT: 1528px" height=1574 alt="\" src="http://up.2cto.com/kf/201106/20110620102052959.gif" width=563 border=0>

0 个评论

要回复文章请先登录注册


官方客服QQ群

微信人工客服

QQ人工客服


线