ASP.NET抓取其他网页代码

在.Net平台下,创建一个ASP.Net的程序
1、引用两个NAMESPACE
usingSystem.Text//因为用了Encoding类
usingSystem.Net//因为用了WebClient类
2、整个程序用了三个控件
txtUrl//输入你要获取的网页地址TEXTBOX控件
txtBody//得到你要获取的网页内容TEXTBOX控件
btnReturn//按钮BUTTON控件
3、在***.aspx.cs下的代码
privatevoidbtnReturn_Click(objectsender,System.EventArgse)
{
stringurl=txtUrl.Text.Trim();//获取输入的网页地址

WebClientwb=newWebClient();//创建一个WebClient实例
//获取或设置用于对向Internet资源的请求进行身份验证的网络凭据。(可有可无)
//wb.Credentials=CredentialCache.DefaultCredentials;
//从资源下载数据并返回字节数组。(加@是因为网址中间有"/"符号)
byte[]pagedata=wb.DownloadData(@url);
//转换字符、
stringresult=Encoding.Default.GetString(pagedata);

txtBody.Text=result;
}
4、字***.aspx的HTML代码中加入一条代码
在第一行代码<%@page=.............................%>中加入validateRequest=false
总结:整个代码不过才几行,而且还不用操心乱码的事情,我是昨天自己在帮助文档里偶然看见的,其实WebClient类有很多下载资源和上载资源的方法,有兴趣的朋友可以看看下面有关WebClient类的帮助文档:
WebClient类请参见
WebClient成员|System.Net命名空间|WebRequest|WebResponse|HttpWebRequest|
HttpWebResponse|WebClient成员(VisualJ#语法)|C++托管扩展编程
要求
命名空间:System.Net
平台:Windows98,WindowsNT4.0,WindowsME,Windows2000,WindowsXPHomeEdition,WindowsXP
Professional,WindowsServer2003系列
程序集:System(在System.dll中)
.NETFramework安全性:
WebPermission,用于访问所请求的URI或请求被重定向到的任何URI。关联的枚举:Connect。
语言
C#
C++
JScript
VisualBasic
全部显示
提供向URI标识的资源发送数据和从URI标识的资源接收数据的公共方法。不能继承此类。
有关此类型所有成员的列表,请参阅WebClient成员。
System.Object
System.MarshalByRefObject
System.ComponentModel.Component
System.Net.WebClient
[VisualBasic]
<ComVisible(True)>
NotInheritablePublicClassWebClient
InheritsComponent
[C#]
[ComVisible(true)]
publicsealedclassWebClient:Component
[C++]
[ComVisible(true)]
public__gc__sealedclassWebClient:publicComponent
[JScript]
public
ComVisible(true)
classWebClientextendsComponent
线程安全
此类型的所有公共静态(VisualBasic中为Shared)成员对多线程操作而言都是安全的。但不保证任何实例
成员是线程安全的。
备注
WebClient类提供向URI标识的任何本地、Intranet或Internet资源发送数据以及从这些资源接收数据的
公共方法。
WebClient类使用WebRequest类提供对Internet资源的访问。WebClient实例可以通过任何已向
WebRequest.RegisterPrefix方法注册的WebRequest子代访问数据。
注意默认情况下,.NETFramework支持以http:、https:和file:方案标识符开头的URI。
WebClient类提供四种将数据上载到资源的方法:
OpenWrite返回一个用于将数据发送到资源的Stream。
UploadData将字节数组发送到资源并返回包含任何响应的字节数组。
UploadFile将本地文件发送到资源并返回包含任何响应的字节数组。
UploadValues将NameValueCollection发送到资源并返回包含任何响应的字节数组。
WebClient类还提供三种从资源下载数据的方法:
DownloadData从资源下载数据并返回字节数组。
DownloadFile从资源将数据下载到本地文件。
OpenRead从资源以Stream的形式返回数据。
要求
命名空间:System.Net
平台:Windows98,WindowsNT4.0,WindowsME,Windows2000,WindowsXPHomeEdition,WindowsXP
Professional,WindowsServer2003系列
程序集:System(在System.dll中)
.NETFramework安全性:
WebPermission,用于访问所请求的URI或请求被重定向到的任何URI。关联的枚举:Connect。
项目结构说明: \ ……\App_Data 项目数据库文件 (ACCESS2003) ……\bin\ …………\AjaxPro.2.dll .NET调用AJAX类库 …………\App_Code.dll 功能类文件 …………\App_Web_ka4newz2.dll *.aspx.cs文件打包 ……\JS\ …………\jquery-1.4.4.min.js JQuery库 …………\Script 系统自定义JS文件 ……\Default.aspx 系统功能页面 ……\Help.txt 帮助文档 ……\web.config 配置文件 ……\PrecompiledApp.config 发布配置文件 系统使用说明: 一、系统启动后在“抓取网页路径” 输入要抓取网页的URL 以文本内默认格式输入 选择“网页编码格式” (如果不知道网页格式可以更换不同选择项),然后点击“测试打开网页”。系统会 在页面右侧空白处显示页面源码,以及以小窗口形式显示要抓取的网页可视化界面。 二、在“列表定位标签”输入要抓取列表信息容器型标签。例如:DIV、UL、TABLE “筛选同类标签”作用是用来过滤页面上同类定位标签,然后点击“测试列表定位” 三、“抓取信息标签”是指列表后页面中要制定抓取的信息容器型标签。(如果抓取整页信息请为空),然后点 击“开始抓取列表内容”。 四、当抓取记录操作中出现抓取日志时。网页HTML字符串已经保存完毕。可是图片可能还在陆续保存。由于是WEB 形式所以无法得知何时抓取完毕,用户需长时间进程守候。 五、“获取抓取页面打包”是先前抓取的网页以及图片打包 六、项目DOWNLOADS中分HTML、IMAGES是保存抓取网页的信息 系统问题: 系统对网速要求很高,因为下载图片是多线程。 B/S模式程序响应可能超时而影响系统正常运行。
2010/12/30 v1.2版 改掉程序中所有的select标签 项目结构说明: \ ……\App_Data 项目数据库文件 (ACCESS2003) ……\bin\ …………\AjaxPro.2.dll .NET调用AJAX类库 …………\App_Code.dll 功能类文件 …………\App_Web_ka4newz2.dll *.aspx.cs文件打包 ……\JS\ …………\jquery-1.4.4.min.js JQuery库 …………\Script 系统自定义JS文件 ……\Default.aspx 系统功能页面 ……\Help.txt 帮助文档 ……\web.config 配置文件 ……\PrecompiledApp.config 发布配置文件 系统使用说明: 一、系统启动后在“抓取网页路径” 输入要抓取网页的URL 以文本内默认格式输入 选择“网页编码格式” (如果不知道网页格式可以更换不同选择项),然后点击“测试打开网页”。系统会 在页面右侧空白处显示页面源码,以及以小窗口形式显示要抓取的网页可视化界面。 二、在“列表定位标签”输入要抓取列表信息容器型标签。例如:DIV、UL、TABLE “筛选同类标签”作用是用来过滤页面上同类定位标签,然后点击“测试列表定位” 三、“抓取信息标签”是指列表后页面中要制定抓取的信息容器型标签。(如果抓取整页信息请为空),然后点 击“开始抓取列表内容”。 四、当抓取记录操作中出现抓取日志时。网页HTML字符串已经保存完毕。可是图片可能还在陆续保存。由于是WEB 形式所以无法得知何时抓取完毕,用户需长时间进程守候。 五、“获取抓取页面打包”是先前抓取的网页以及图片打包 六、项目DOWNLOADS中分HTML、IMAGES是保存抓取网页的信息 系统问题: 系统对网速要求很高,因为下载图片是多线程。 B/S模式程序响应可能超时而影响系统正常运行。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值