ASP.NET网页抓取数据
我的数据通过一个TextBox输入,这些代码是写在一个button的点击事件里的。
网页数据抓取大概分为两步,第一步是获取网页源代码:
具体注释如下:
var currentUrl = TextBox1.Text;//获得要抓取的网页的URL地址
var request = WebRequest.Create(currentUrl) as HttpWebRequest;//请求对象
var response=request.GetResponse()as HttpWebResponse;//定义页面回应对象
var encode = string.Empty;
encode = response.CharacterSet;//获得网页的编码
Stream stream;//数据流
if (response.ContentEncoding.ToLower() == "gzip")
{
stream = new GZipStream(response.GetResponseStream(), CompressionMode.Decompress);
}
else {
stream = response.GetResponseStream();
}//解压缩
var sr = new StreamReader(stream,Encoding.GetEncoding(encode));//定义数据流读取对象
var html = sr.ReadToEnd();
sr.Close();
HtmlDocument document=new HtmlDocument();
document.LoadHtml(html);//将数据存入document
得到了网页源代码,接下来就是对其解析,就是第二步:
解析可以使用正则表达式或是Spilt等字符串操作方法。
根据源代码写出的Xpath,利用节点得到位于两个节点之间的数据:
我的对象网页就是我的博客主页http://home.cnblogs.com/u/xuwanghu/
string sumLine = document.DocumentNode.SelectSingleNode("//body//ul[@id='user_profile']").InnerText;
string yuanlin = sumLine2.ToString().Split(':')[0].Split('博')[0];
这样子,就将园龄存入了yuanlin,也就实现了抓取网页数据的功能。
ASP.NET网页抓取数据的更多相关文章
- 爬虫学习笔记(1)-- 利用Python从网页抓取数据
最近想从一个网站上下载资源,懒得一个个的点击下载了,想写一个爬虫把程序全部下载下来,在这里做一个简单的记录 Python的基础语法在这里就不多做叙述了,黑马程序员上有一个基础的视频教学,可以跟着学习一 ...
- asp.net 网页抓取内容
网页抓取代码 using System; using System.Collections.Generic; using System.Linq; using System.Web; // using ...
- java抓取网页数据,登录之后抓取数据。
最近做了一个从网络上抓取数据的一个小程序.主要关于信贷方面,收集的一些黑名单网站,从该网站上抓取到自己系统中. 也找了一些资料,觉得没有一个很好的,全面的例子.因此在这里做个笔记提醒自己. 首先需要一 ...
- PHP的cURL库:抓取网页,POST数据及其他,HTTP认证 抓取数据
From : http://developer.51cto.com/art/200904/121739.htm 下面是一个小例程: ﹤?php// 初始化一个 cURL 对象$curl = curl_ ...
- Python开发爬虫之动态网页抓取篇:爬取博客评论数据——通过Selenium模拟浏览器抓取
区别于上篇动态网页抓取,这里介绍另一种方法,即使用浏览器渲染引擎.直接用浏览器在显示网页时解析 HTML.应用 CSS 样式并执行 JavaScript 的语句. 这个方法在爬虫过程中会打开一个浏览器 ...
- Asp.Net 之 抓取网页内容
一.获取网页内容——html ASP.NET 中抓取网页内容是非常方便的,而其中更是解决了 ASP 中困扰我们的编码问题. 需要三个类:WebRequest.WebResponse.StreamRea ...
- Python实现简单的网页抓取
现在开源的网页抓取程序有很多,各种语言应有尽有. 这里分享一下Python从零开始的网页抓取过程 第一步:安装Python 点击下载适合的版本https://www.python.org/ 我这里选择 ...
- NET 5 爬虫框架/抓取数据
爬虫大家或多或少的都应该接触过的,爬虫有风险,抓数需谨慎. 爬虫有的是抓请求,有的是抓网页再解析 本着研究学习的目的,记录一下在 .NET Core 下抓取数据的实际案例.爬虫代码一般具有时效性,当 ...
- 基于Casperjs的网页抓取技术【抓取豆瓣信息网络爬虫实战示例】
CasperJS is a navigation scripting & testing utility for the PhantomJS (WebKit) and SlimerJS (Ge ...
随机推荐
- 纯js滑动脚本
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...
- notification:object not locked by thread before notify()
今天写notification练习时,误将NotificationManager.notify(0, notification);写成notification.notify(); 代码如下 publi ...
- Asp.Net--下载文件
实现方式1: protected void DownLoad_Click(object sender, EventArgs e) { //获取要下载的文件 string filename = Serv ...
- ionic开发android app步骤
一.android开发 1. 首先要安装node环境,Ionic的安装和后续的许多前端工具的安装都依赖于node的包管理器npm. nodeJs环境的安装很简单,去官网下载最新版的NodeJs直接安装 ...
- django 自定用户系统 以及 Django Model 定义语法
http://www.tuicool.com/articles/jMzIr2 django使用自己的用户系统 http://www.jianshu.com/p/c10be59aad7a Django ...
- C++ 知识点 2
基本类型常量 const int a; int const a; const int *a; int * const a; int const * a const; 之间的区别? const int ...
- 自己写的简单的jQuery分页控件
因为是内部项目,需要分页控件,网上找了一大堆,给领导一看,都说不行,原因很简单,太复杂,领导就想要个简单点的,类似百度的分页,可是自己也没写过Jquery控件,硬着头皮找了些资料,写了这个分页控件,目 ...
- Android-transulcent-status-bar
最近业务上看到一个设计图挺好看,所以研究了一下透明状态栏,注意不是沉浸式状态栏,在参考了网上的一些资料后,整理出了这篇博客. Github Demo 链接: StatusBarCompat 参考文章: ...
- python修改txt文件内容
①以r模式打开文件并用readlines方法读入列表l中 ②修改相关行,直接用l[n]形式即可 ③关闭文件 ④以w方式打开文件,用writelines方法写入文件(覆盖文件内容) ⑤关闭文件 需要注意 ...
- C 小写字母编程大写并输出
main(){ FILE *fp; char str[100],filename[10]; int i=0;if((fp=fopen("test","w"))= ...