CSDN首页 空间 新闻 论坛 Blog 下载 读书 网摘 搜索 .NET Java 视频 接项目 求职 在线学习 买书 程序员 通知
可用分押宝游戏火热进行中... 专题改版:Java Web 专题
CSDN社区
搜索 收藏 打印 关闭
CSDN社区 >  .NET技术 >  ASP.NET

asp.net 数据采集

楼主weiyong922(心怡,只有心怡,我的小宝贝)2006-12-20 14:31:01 在 .NET技术 / ASP.NET 提问

现要为公司编辑做一个数据采集的WEB程序,谁能给点思路(有例子更好) 问题点数:100、回复次数:41Top

1 楼ustbwuyi()回复于 2006-12-20 14:36:46 得分 0

没做过,关注楼下,希望能了解一二..Top

2 楼ldk(你的温柔其实如刀)回复于 2006-12-20 14:37:44 得分 5

string   strHtml;  
  StreamReader   sr   =   null;   //用来读取流  
  StreamWriter   sw   =   null;   //用来写文件  
  Encoding   code   =   Encoding.GetEncoding("utf-8");   //定义编码    
   
  //构造web请求,发送请求,获取响应  
                  WebRequest   HttpWebRequest   =   null;  
                  WebResponse   HttpWebResponse   =   null;  
                  HttpWebRequest   =   WebRequest.Create(url);  
                  HttpWebResponse   =   HttpWebRequest.GetResponse();  
   
                  //获得流  
                  sr   =   new   StreamReader(HttpWebResponse.GetResponseStream(),   code);  
                  strHtml   =   sr.ReadToEnd();  
   
  Top

3 楼susar(寻找水源)回复于 2006-12-20 14:47:53 得分 0

取源代码+正则表达式,Top

4 楼mincunbao(衝動是魔鬼)回复于 2006-12-20 14:48:51 得分 0

等,學習Top

5 楼weiyong922(心怡,只有心怡,我的小宝贝)回复于 2006-12-20 14:49:45 得分 0

估计是我说的不够清楚(楼上的好像只是第一步吧),  
  得到了站点首页的源文件我想肯定要从中找到里面的页面链接,然后一步步找到所要的资源文件地址(比如音乐.mp3,.rm,.mav等)的地址,并把它下载下来Top

6 楼weiyong922(心怡,只有心怡,我的小宝贝)回复于 2006-12-20 14:52:24 得分 0

 
    susar(寻找水源)   (   )   信誉:100         Blog     2006-12-20   14:47:53     得分:   0      
     
     
        取源代码+正则表达式,  
     
     
  ----------------  
  特别感谢!  
   
  应该就是这样。能说的详细点吗,我确实以前没做过,有什么源代码参考的吗Top

7 楼IFocusYou(易寒)回复于 2006-12-20 14:55:50 得分 0

采集什么数据?出钱我给做吧.Top

8 楼weiyong922(心怡,只有心怡,我的小宝贝)回复于 2006-12-20 15:06:38 得分 0

IFocusYou(易寒)   (   )   信誉:100         Blog     2006-12-20   14:55:50     得分:   0      
     
     
        采集什么数据?出钱我给做吧.  
       
     
  -------------------------------  
  老兄。我只是公司里一个敲代码的,真到了那时候还用得着多说话吗Top

9 楼weiyong922(心怡,只有心怡,我的小宝贝)回复于 2006-12-20 15:21:22 得分 0

在线等。自己顶Top

10 楼czq9966(宁录)(毛主席领导咱闹革命……)回复于 2006-12-20 15:30:58 得分 0

指定数据源,取得HTML页面内容,进行分析,留下你想要的东西,入库,  
   
  比如说你要取一个页面中的文章内容和标题,那你需要查看这个页面的HTML代码,比如标题为:“我要取得标题”,而这个标题的左右两边一定还会有其它的HTML代码,以这些HTML代码作为标记,去取得自己想要的标题,当然取内容也是一样的,Top

11 楼yan63(silence like a cancer grows)回复于 2006-12-20 15:37:50 得分 0

去codeproject搜一个,载下来运行一下思路该就比较清楚了Top

12 楼lucky_yyx(进取、热情,信任,坚持,努力,自律,思考,感动,耐心,韧性、珍惜)回复于 2006-12-20 15:40:26 得分 5

?    
  string   strHtml;  
  StreamReader   sr   =   null;   //用来读取流  
  StreamWriter   sw   =   null;   //用来写文件  
  Encoding   code   =   Encoding.GetEncoding("utf-8");   //定义编码  
   
  //构造web请求,发送请求,获取响应  
  WebRequest   HttpWebRequest   =   null;  
  WebResponse   HttpWebResponse   =   null;  
  HttpWebRequest   =   WebRequest.Create(url);  
  HttpWebResponse   =   HttpWebRequest.GetResponse();  
   
  //获得流  
  sr   =   new   StreamReader(HttpWebResponse.GetResponseStream(),   code);  
  strHtml   =   sr.ReadToEnd();Top

13 楼wangrumeng(逐梦)回复于 2006-12-20 15:41:05 得分 0

关注中Top

14 楼weiyong922(心怡,只有心怡,我的小宝贝)回复于 2006-12-20 16:21:39 得分 0

高手一定要帮忙呀Top

15 楼weiyong922(心怡,只有心怡,我的小宝贝)回复于 2006-12-20 16:44:25 得分 0

在线等中Top

16 楼syc958()回复于 2006-12-20 17:26:02 得分 5

server服务要不就用小偷程序!Top

17 楼Small__Wolf(CSDN眞J⒏縞笑^_^.這嚒點嘚框框譲偶冩紒紹(︶︵︶))回复于 2006-12-20 17:45:53 得分 5

分析源网页.要求不高可以通过   正则提取   标题   地址   等信息.Top

18 楼weiyong922(心怡,只有心怡,我的小宝贝)回复于 2006-12-20 18:55:31 得分 0

???Top

19 楼zhuowei(I'm MS MVP)回复于 2006-12-20 18:57:52 得分 2

没接触过   踩一脚Top

20 楼winner2050(winner)回复于 2006-12-20 19:06:08 得分 0

呵呵。如果你们老板要买就找我。  
  Top

21 楼wslinfeng(林风)回复于 2006-12-20 19:19:56 得分 2

留个名,回头再看Top

22 楼fattycat(最爱胖猫)回复于 2006-12-20 19:29:40 得分 2

markTop

23 楼ecmastery(浪淘沙)回复于 2006-12-20 19:33:47 得分 10

Asp.net   数据采集基类(远程抓取,分解,保存,匹配)  
  详细参考地址:http://www.opent.cn/article.asp?id=5  
   
   
  #region   日期随机函数  
                  /**********************************  
                    *   函数名称:DateRndName  
                    *   功能说明:日期随机函数  
                    *   参         数:ra:随机数  
                    *   调用示例:  
                    *                     GetRemoteObj   o   =   new   GetRemoteObj();  
                    *                     Random   ra   =   new   Random();  
                    *                     string   s   =   o.DateRndName(ra);  
                    *                     Response.Write(s);  
                    *                     o.Dispose();  
                    *   ********************************/  
                  ///   <summary>  
                  ///   日期随机函数  
                  ///   </summary>  
                  ///   <param   name="ra">随机数</param>  
                  ///   <returns></returns>  
                  public     string   DateRndName(Random   ra)  
                  {  
                          DateTime   d   =   DateTime.Now;  
                          string   s   =   null,   y,   m,   dd,   h,   mm,   ss;  
                          y   =   d.Year.ToString();  
                          m   =   d.Month.ToString();  
                          if   (m.Length   <   2)   m   =   "0"   +   m;  
                          dd   =   d.Day.ToString();  
                          if   (dd.Length   <   2)   dd   =   "0"   +   dd;  
                          h   =   d.Hour.ToString();  
                          if   (h.Length   <   2)   h   =   "0"   +   h;  
                          mm   =   d.Minute.ToString();  
                          if   (mm.Length   <   2)   mm   =   "0"   +   mm;  
                          ss   =   d.Second.ToString();  
                          if   (ss.Length   <   2)   ss   =   "0"   +   ss;  
                          s   +=   y   +   m   +   dd   +   h   +   mm   +   ss;  
                          s   +=   ra.Next(100,   999).ToString();  
                          return   s;  
                  }  
                  #endregion  
   
                  #region   取得文件后缀  
                  /**********************************  
                    *   函数名称:GetFileExtends  
                    *   功能说明:取得文件后缀  
                    *   参         数:filename:文件名称  
                    *   调用示例:  
                    *                     GetRemoteObj   o   =   new   GetRemoteObj();  
                    *                     string   url   =   @"http://www.baidu.com/img/logo.gif";  
                    *                     string   s   =   o.GetFileExtends(url);  
                    *                     Response.Write(s);  
                    *                     o.Dispose();  
                    *   ********************************/  
                  ///   <summary>  
                  ///   取得文件后缀  
                  ///   </summary>  
                  ///   <param   name="filename">文件名称</param>  
                  ///   <returns></returns>  
                  public   string   GetFileExtends(string   filename)  
                  {  
                          string   ext   =   null;  
                          if   (filename.IndexOf('.')   >   0)  
                          {  
                                  string[]   fs   =   filename.Split('.');  
                                  ext   =   fs[fs.Length   -   1];  
                          }  
                          return   ext;  
                  }  
                  #endregion  
   
                  #region   获取远程文件源代码  
                  /**********************************  
                    *   函数名称:GetRemoteHtmlCode  
                    *   功能说明:获取远程文件源代码  
                    *   参         数:Url:远程url  
                    *   调用示例:  
                    *                     GetRemoteObj   o   =   new   GetRemoteObj();  
                    *                     string   url   =   @"http://www.baidu.com";  
                    *                     string   s   =   o.GetRemoteHtmlCode(url);  
                    *                     Response.Write(s);  
                    *                     o.Dispose();  
                    *   ********************************/  
                  ///   <summary>  
                  ///   获取远程文件源代码  
                  ///   </summary>  
                  ///   <param   name="url">远程url</param>  
                  ///   <returns></returns>  
                  public   string   GetRemoteHtmlCode(string   Url)  
                  {  
                          string   s   =   "";  
                          MSXML2.XMLHTTP   _xmlhttp   =   new   MSXML2.XMLHTTPClass();  
                          _xmlhttp.open("GET",   Url,   false,   null,   null);  
                          _xmlhttp.send("");  
                          if   (_xmlhttp.readyState   ==   4)  
                          {  
                                  s   =   System.Text.Encoding.Default.GetString((byte[])_xmlhttp.responseBody);  
                          }  
                          return   s;  
                  }  
   
                  #endregion  
   
  Top

24 楼ffff2525(雨天)回复于 2006-12-20 19:41:53 得分 2

markTop

25 楼com7ecity(经营之道 http://info.7ecity.com/)回复于 2006-12-20 20:45:15 得分 2

晕,我的采集程序在公司,要不就贴上来了,吼吼Top

26 楼zgmiao(孤独剑客)回复于 2006-12-20 21:07:02 得分 5

取得页面HTML代码的例子上面已经给出不少了  
  下面的代码是使用正则表达式取得HTML中内容的代码  
  Regex   regex1   =   new   Regex(this.NameKey,   RegexOptions.Singleline   |   RegexOptions.IgnoreCase   );  
  MatchCollection   collection1   =   regex1.Matches(this.ArtHtml);  
  if   (collection1.Count>0)  
  {  
  result=collection1[0].Result("${title}");  
  }Top

27 楼kgdkwxf()回复于 2006-12-21 09:08:58 得分 2

等待解决Top

28 楼zdyguilong(Keep Walking!)回复于 2006-12-21 09:14:39 得分 2

学习……Top

29 楼weiyong922(心怡,只有心怡,我的小宝贝)回复于 2006-12-21 09:57:32 得分 0

com7ecity(经营之道   http://info.7ecity.com/)   (   )   信誉:100         Blog     2006-12-20   20:45:15     得分:   0      
     
     
         
  晕,我的采集程序在公司,要不就贴上来了,吼吼  
  ------------------------------------------------  
  这位仁兄厚道,真是多谢了,我邮箱:weiyong922@163.com  
   
       
     
  Top

30 楼weiyong922(心怡,只有心怡,我的小宝贝)回复于 2006-12-21 09:58:34 得分 0

ecmastery(浪淘沙)    
   
  ----------------------  
  真心谢谢你Top

31 楼weiyong922(心怡,只有心怡,我的小宝贝)回复于 2006-12-21 10:31:31 得分 0

:)Top

32 楼Edisoncat(http://www.Edisonliu.com)回复于 2006-12-21 11:00:25 得分 5

用WebRequest   HttpWebRequest   远程下载对方网页,在用正则过滤数据Top

33 楼hanlang(寒朗)回复于 2006-12-21 11:12:29 得分 2

markTop

34 楼sprider(人黑牙黄)回复于 2006-12-21 12:21:34 得分 30

以前做过   ASP.NET/   c#  
  tom   音乐的抓取程序  
  两晚上   搜集   220M数据库的音乐.     26万条歌曲信息.  
  QQ:185146447Top

35 楼weiyong922(心怡,只有心怡,我的小宝贝)回复于 2006-12-21 12:37:16 得分 0

高手一定要帮忙呀Top

36 楼hymxtang(书童)回复于 2006-12-21 13:09:26 得分 2

学习~Top

37 楼weiyong922(心怡,只有心怡,我的小宝贝)回复于 2006-12-21 13:37:54 得分 0

?Top

38 楼executemylove(Iceman)回复于 2006-12-21 13:45:56 得分 5

分析网页源代码.然后找到特征代码.截取想要内容Top

39 楼weiyong922(心怡,只有心怡,我的小宝贝)回复于 2006-12-22 09:50:42 得分 0

:)Top

40 楼zhangyunjian1(赚钱吧)回复于 2006-12-22 17:55:28 得分 5

1采集页面源代码      
  2获取中间字符(也就是你所需要的字符)  
  3循环      
  4写库    
   
   
  就这么简单       这样的程序我写过好几个包括登陆后采集的都可以的!Top

41 楼zhangyunjian1(赚钱吧)回复于 2006-12-22 17:55:59 得分 2

别忘记结帐     我很穷Top

相关问题

关键词

得分解答快速导航

  • 帖主:weiyong922
  • ldk
  • lucky_yyx
  • syc958
  • Small__Wolf
  • zhuowei
  • wslinfeng
  • fattycat
  • ecmastery
  • ffff2525
  • com7ecity
  • zgmiao
  • kgdkwxf
  • zdyguilong
  • Edisoncat
  • hanlang
  • sprider
  • hymxtang
  • executemylove
  • zhangyunjian1
  • zhangyunjian1

相关链接

  • CSDN .NET频道
  • .NET类图书
  • C#类图书
  • .NET类源码下载

广告也精彩

反馈

请通过下述方式给我们反馈
反馈
提问
网站简介|广告服务|VIP资费标准|银行汇款帐号|网站地图|帮助|联系方式|诚聘英才|English|问题报告
世纪乐知(北京)网络技术有限公司 版权所有, 京 ICP 证 020026 号
北京创新乐知广告有限公司 提供技术支持
Copyright © 2000-2007, CSDN.NET, All Rights Reserved
GongshangLogo