.NET下获取网页的内容的封装类


using System;
using System.Net;
using System.IO;
using System.Text;
using System.Windows.Forms;

namespace iUNS
{
/// <summary>
/// iuGetWebContent 的摘要说明。
/// </summary>
public class iuGetWebContent
{
public iuGetWebContent()
{
//
// TODO: 在此处添加构造函数逻辑
//
}

/// <summary>
/// 从指定的url取得网页内容
/// </summary>
/// <param name="url">网页地址</param>
/// <returns>返回取得的内容</returns>
public static string getContentFromUrl(string url,string encoding)
{
try
{
string text="";
// Create a 'WebRequest' object with the specified url.
WebRequest myWebRequest = WebRequest.Create(url);
myWebRequest.Timeout=10000;

// Send the 'WebRequest' and wait for response.
WebResponse myWebResponse = myWebRequest.GetResponse();

// Obtain a 'Stream' object associated with the response object.
Stream ReceiveStream = myWebResponse.GetResponseStream();

Encoding encode = System.Text.Encoding.GetEncoding(encoding);

// Pipe the stream to a higher level stream reader with the required encoding format.
StreamReader readStream = new StreamReader( ReceiveStream, encode );
//Console.WriteLine("\nResponse stream received");
Char[] read = new Char[512];

// Read 512 charcters at a time.
int count = readStream.Read( read, 0, 512 );
//Console.WriteLine("HTML\r\n");

while (count > 0)
{
// Dump the 512 characters on a string and display the string onto the console.
String str = new String(read, 0, count);
text+=str;
count = readStream.Read(read, 0, 512);
}

// Release the resources of stream object.
readStream.Close();

// Release the resources of response object.
myWebResponse.Close();

return text;
}
catch
{
return "MYERROR";
}
}
}
}

项目结构说明: \ ……\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、付费专栏及课程。

余额充值