各位大虾,本人想做一个新闻采集的功能。
希望在www.sina.com.cn里面采集一些内容,
但是,我不知道怎么样通过这个URL读取出来这个网站的HTML,
有经验的帮忙执教一下。给点代码参考。
非常感谢~

解决方案 »

  1.   

    怎么用?错了吧,居然来了一个XMLHTTP,晕死了。
      

  2.   

    HttpWebRequest request = HttpWebRequest.Create("www.123du.com");
    Stream stm = request.GetResponse().GetResponseStream();
    StreamReader reader = new StreamReader(stm,System.Text.Encoding.GetEncoding("gb2312"));//or Utf-8等
    string html = reader.ReadToEnd();   //即得到的html
    stm.Close();
    reader.Close();
      

  3.   

    private string GetHtmlString(string sUrl)
    {
    string sHtml = "";
    HttpWebRequest request;
    HttpWebResponse response=null;
    Stream stream; while (true)
    {
    try
    {
    request =(HttpWebRequest)WebRequest.Create(sUrl);
    response=(HttpWebResponse)request.GetResponse();
    stream=response.GetResponseStream();
    sHtml=new StreamReader(stream,System.Text.Encoding.Default).ReadToEnd();
    break;
    }
    catch (Exception e)
    {
    if (response!=null) response.Close();
    DialogResult result=
    MessageBox.Show(null,"Http request time out. Do you want to retry?","Time Out Error",MessageBoxButtons.YesNo);
    if (result==DialogResult.No)
    throw e; }
    }
    stream.Close();
    response.Close();
    return sHtml;
    }
      

  4.   

    using System.Net;HttpWebRequest request = HttpWebRequest.Create("http://www.123du.com");
      

  5.   

    www_123du_com(鼠·神·泪)你代码怎么报这个错误?
    无法将类型“System.Net.WebRequest”隐式转换为“System.Net.HttpWebRequest”在这一行
    HttpWebRequest request = HttpWebRequest.Create("www.123du.com");
      

  6.   

    命名空间:
    using System;
    using System.Collections;
    using System.ComponentModel;
    using System.Data;
    using System.Drawing;
    using System.Web;
    using System.Web.SessionState;
    using System.Web.UI;
    using System.Web.UI.WebControls;
    using System.Web.UI.HtmlControls;
    using System.IO;
    using System.Net;
    using System.Text;
    看我的吧
    PageUrl = UrlText.Text;
    WebClient wc = new WebClient();
    //把已登录的用户或正被模拟的用户的用户凭据赋给用于对向Internet资源的请求进行身份验证的网络凭据
    wc.Credentials = CredentialCache.DefaultCredentials;///方法一:
    ///从指定的URI下载数据
    Byte[] pageData = wc.DownloadData(PageUrl);
    //把下载到的字符型数组数据转换成字符串类型
    ContentHtml.Text = Encoding.Default.GetString(pageData);
               ContentHtml.Text=Encoding.ASCII.GetString(ContentHtml.Text); 
    /// 方法二
    //为指定的URI打开一个可读的数据流,并定义一个该流的引用
    /// Stream resStream = wc.OpenRead(PageUrl);
    /// 根据上面定义的数据流,以默认编码的方式定义一个读数据流
    /// StreamReader sr = new StreamReader(resStream,System.Text.Encoding.Default);
    /// 读取数据流中的内容
    /// ContentHtml.Text = sr.ReadToEnd();
    /// //关闭数据流
    /// resStream.Close();
    /// 
    //释放资源
    wc.Dispose();
      

  7.   

    HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create("www.123du.com");
      

  8.   

    另一种方法:
    PageUrl = UrlText.Text;
    //根据指定的UR建立WEB请求
    WebRequest  request = WebRequest.Create(PageUrl);
    //定义对上面WEB请求的反应
    WebResponse response = request.GetResponse();
    //取得WEB响应的数据流
    Stream resStream = response.GetResponseStream();
    //根据上面定义的数据流,以默认编码的方式定义一个读数据流
    StreamReader sr = new StreamReader(resStream, System.Text.Encoding.Default);
    // 读取数据流中的内容
    ContentHtml.Text = sr.ReadToEnd();
    //关闭数据流
    resStream.Close();
    //关闭读数据流并释放资源
    sr.Close();
      

  9.   

    terry_12(大撒发射点) ( ) 信誉:100  2006-08-08 21:42:00  得分: 0  
     
    HttpWebRequest request = (HttpWebRequest)HttpWebRequest.Create("www.123du.com");
    -------------------------------------------------------------------------------
    这样就可以了。
    或者直接用:
    WebRequest request = WebRequest.Create("http://www.123du.com");
      

  10.   


    我的帖子,虽然有问题,但访问sina.com还是可以的
    http://community.csdn.net/Expert/topic/4935/4935505.xml?temp=.3209192
      

  11.   

    另外,高手帮我看看 数据采集http头的参数问题,谢谢;
    http://community.csdn.net/Expert/topic/4935/4935505.xml?temp=.3209192