C# 实现抓取网站页面内容
抓取新浪网的新闻栏目,如图所示:
使用 谷歌浏览器的查看源代码: 通过分析得知,我们所要找的内容在以下两个标签之间:
<!-- publish_helper name='要闻-新闻' p_id='1' t_id='850' d_id='1' --> 内容。。。。 <!-- publish_helper name='要闻-财经' p_id='30' t_id='98' d_id='1' -->
如图所示:
内容。。。。
使用VS建立一个如图所示的网站:
我们下载网络数据主要通过 WebClient 类来实现。
使用下面源代码获取我们选择的内容:
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 + ); //截取新闻内容 lblMessage.Text = temp;//显示所截取的新闻内容
}
效果如图:
最后: 除了把下载的数据保存为文本以外,还可以保存为 文件类型 和 流 类型。
WebClient wc = new WebClient();
wc.DownloadFile(TextBox1.Text, @"F:\test.txt");
Label1.Text = "文件下载完成";
WebClient wc = new WebClient();
Stream s = wc.OpenRead(TextBox1.Text); StreamReader sr = new StreamReader(s);
Label1.Text = sr.ReadToEnd();
C# 实现抓取网站页面内容的更多相关文章
- php curl抓取远程页面内容的代码
使用php curl抓取远程页面内容的例子. 代码如下: <?php /** * php curl抓取远程网页内容 * edit by www.jbxue.com */ $curlPost = ...
- 利用curl抓取远程页面内容
最基本的操作如下 $curlPost = 'a=1&b=2';//模拟POST数据$cookie_file = tempnam('./temp','kie');//可选,保存ses ...
- 用thinkphp写的一个例子:抓取网站的内容并且保存到本地
我需要写这么一个例子,到电子课本网下载一本电子书. 电子课本网的电子书,是把书的每一页当成一个图片,然后一本书就是有很多张图片,我需要批量的进行下载图片操作. 下面是代码部分: public func ...
- Winfrom 抓取web页面内容代码
WebRequest request = WebRequest.Create("http://1.bjapp.sinaapp.com/play.php?a=" + PageUrl) ...
- C#抓取AJAX页面的内容
原文 C#抓取AJAX页面的内容 现在的网页有相当一部分是采用了AJAX技术,所谓的AJAX技术简单一点讲就是事件驱动吧(当然这种说法可能很不全面),在你提交了URL后,服务器发给你的并不是所有是页面 ...
- 抓取网站数据不再是难事了,Fizzler(So Easy)全能搞定
首先从标题说起,为啥说抓取网站数据不再难(其实抓取网站数据有一定难度),SO EASY!!!使用Fizzler全搞定,我相信大多数人或公司应该都有抓取别人网站数据的经历,比如说我们博客园每次发表完文章 ...
- pythonのscrapy抓取网站数据
(1)安装Scrapy环境 步骤请参考:https://blog.csdn.net/c406495762/article/details/60156205 需要注意的是,安装的时候需要根据自己的pyt ...
- 使用PHP抓取网站ico图标
网站许久没用更新,以后会经常更新,本次分享一个使用PHP抓取网站ico的程序,提供一个网站列表后对网站的ico进行下载抓取,具体代码如下: <?php /** * 更新热站ico * gao 2 ...
- PHPcurl抓取AJAX异步内容(转载)
PHPcurl抓取AJAX异步内容 其实抓ajax异步内容的页面和抓普通的页面区别不大.ajax只不过是做了一次异步的http请求,只要使用firebug类似的工具,找到请求的后端服务url和传值的参 ...
随机推荐
- JavaScript高级程序设计之JSON
IE8以下请求助神之Douglas Crockford:https://github.com/douglascrockford/json-js JSON是一种格式化的字符串,特别适合在网络上传输,由D ...
- python 通过urllib模块在svn中下载文件
#_*_coding:utf-8_*_ import urllib def Schedule(a,b,c): ''' a:已经下载的数据块 b:数据块的大小 c:远程文件的大小 ''' per = 1 ...
- Google Volley: How to send a POST request with Json data?
sonObjectRequest actuallyaccepts JSONObject as body. From http://arnab.ch/blog/2013/08/asynchronous- ...
- canvas画时钟
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <meta http ...
- UIScrollView缩放图片操作
要想ScrollView缩放,必须告诉缩放那个控件,它自身的大小是不会缩放的: 并且ScrollView只能缩放自己内部的子控件: 1:这时就要用到代理,代理告诉ScrollView缩放哪个控件.(设 ...
- 4.C#基础篇-->变量
一.前言 变量的类型划分即内存中的存放位置如图: 变量的生命周期如图:
- Visual Studio 2013
1.How to hide reference counts in VS2013? Tools--> Options --> Text Editor --> All Language ...
- 02.Redis主从集群的Sentinel配置
1.集群环境 1.Linux服务器列表 使用4台CentOS Linux服务器搭建环境,其IP地址如下: 192.168.110.100 192.168.110.101 192.168.110.102 ...
- java socket 一个服务器对应多个客户端,可以互相发送消息
直接上代码,这是网上找的demo,然后自己根据需求做了一定的修改.代码可以直接运行 服务器端: package socket; import java.io.BufferedReader; impor ...
- frequentism-and-bayesianism-chs
frequentism-and-bayesianism-chs 频率主义和贝叶斯主义——一个实用的介绍 此notebook最初出现在博客Pythonic Perambulations的文章.BSD l ...