源码网商城,靠谱的源码在线交易网站 我的订单 购物车 帮助

源码网商城

C# 实现抓取网站页面内容的实例方法

  • 时间:2021-09-16 04:53 编辑: 来源: 阅读:
  • 扫一扫,手机访问
摘要:C# 实现抓取网站页面内容的实例方法
抓取新浪网的新闻栏目,如图所示: [img]http://files.jb51.net/file_images/article/201308/2013819151907077.png[/img] 使用 谷歌浏览器的查看源代码: 通过分析得知,我们所要找的内容在以下两个标签之间:
[u]复制代码[/u] 代码如下:
<!-- publish_helper name='要闻-新闻' p_id='1' t_id='850' d_id='1' --> 内容。。。。 <!-- publish_helper name='要闻-财经' p_id='30' t_id='98' d_id='1' -->
如图所示: [img]http://files.jb51.net/file_images/article/201308/2013819152241344.png[/img] 内容。。。。 [img]http://files.jb51.net/file_images/article/201308/2013819152420502.png[/img] 使用VS建立一个如图所示的网站: [img]http://files.jb51.net/file_images/article/201308/2013819152559371.png[/img] 我们下载网络数据主要通过   WebClient 类来实现。 使用下面源代码获取我们选择的内容:
[u]复制代码[/u] 代码如下:
protected void Enter_Click(object sender, EventArgs e)         {             WebClient we = new WebClient();  //主要使用WebClient类             byte[] myDataBuffer;             myDataBuffer = we.DownloadData(txtURL.Text);  //该方法返回的是 字节数组,所以需要定义一个byte[]             string download = Encoding.Default.GetString(myDataBuffer);  //对下载的数据进行编码                        //通过查询源代码,获取某两个值之间的新闻内容             int startIndex = download.IndexOf("<!-- publish_helper name='要闻-新闻' p_id='1' t_id='850' d_id='1' -->");             int endIndex = download.IndexOf("<!-- publish_helper name='要闻-财经' p_id='30' t_id='98' d_id='1' -->");             string temp = download.Substring(startIndex, endIndex - startIndex + 1);  //截取新闻内容             lblMessage.Text = temp;//显示所截取的新闻内容         }
效果如图: [img]http://files.jb51.net/file_images/article/201308/2013819152714509.png[/img] 最后: 除了把下载的数据保存为文本以外,还可以保存为 文件类型 和 流 类型。
[u]复制代码[/u] 代码如下:
WebClient wc = new WebClient();             wc.DownloadFile(TextBox1.Text, @"F:\test.txt");             Label1.Text = "文件下载完成";
[u]复制代码[/u] 代码如下:
WebClient wc = new WebClient();             Stream  s =  wc.OpenRead(TextBox1.Text);             StreamReader sr = new StreamReader(s);             Label1.Text =  sr.ReadToEnd();
  • 全部评论(0)
联系客服
客服电话:
400-000-3129
微信版

扫一扫进微信版
返回顶部