数据采集程序(网页小偷)点滴心得

所谓的数据采集程序也就是网页小偷程序(大家别骂我哦),写完了来这里发点东西,希望大家有何高见共同研究.

1.在下载数据的开始,有些网站是要登录了才能看到相应的数据,这个就需要我们发送登录用户名和密码了,但我是登录了,但他服务器也不是垃圾,在他那里重定向了,共产生了2个SESSION,这第2个SESSION我就不知道如何捕抓.于是我就投机^-^,用软件将SESSION捕抓下来了1个叫Ethereal的软件,用以下代码加入到HTTP请求的头部
WebClient myWebClient = new WebClient();
string sessionkey=textBox78.Text;
     string refererurl=textBox77.Text;
     myWebClient.Headers.Clear();     
     myWebClient.Headers.Add("Cookie",sessionkey);
     myWebClient.Headers.Add("Referer", refererurl);
     myWebClient.Headers.Add("User-agent", "Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.5) Gecko/20031107 Debian/1.5-3");
这样就欺骗了服务器了,哈哈

2.第二部就是代码下载
byte[] myDataBuffer = myWebClient.DownloadData(remoteUri);
 download = Encoding.Default.GetString(myDataBuffer);

3.第3部就是数据的匹配了,我是将流读取到数据里,然后用IndexOf得到2个关键字段的位置,然后用Substring取出来的,我知道这很笨,但用正则表达式难啊(谁会的指点我下),匹配完了得到的字符串我就用以下的函数去掉了HTML代码:
private string StripHTML(string strHtml)
  {
   string [] aryReg ={
          @"<script[^>]*?>.*?</script>",
          @"<(\/\s*)?!?((\w+:)?\w+)(\w+(\s*=?\s*(([""'])(\\[""'tbnr]|[^\7])*?\7|\w+)|.{0})|\s)*?(\/\s*)?>",
          @"([\r\n])[\s]+",
          @"&(quot|#34);",
          @"&(amp|#38);",
          @"&(lt|#60);",
          @"&(gt|#62);",
          @"&(nbsp|#160);",
          @"&(iexcl|#161);",
          @"&(cent|#162);",
          @"&(pound|#163);",
          @"&(copy|#169);",
          @"(\d+);",
          @"-->",
          @"<!--.*\n"        
         };

   string [] aryRep = {
           "",
           "",
           "",
           "\"",
           "&",
           "<",
           ">",
           " ",
           "\xa1",//chr(161),
           "\xa2",//chr(162),
           "\xa3",//chr(163),
           "\xa9",//chr(169),
           "",
           "\r\n",
           ""
          };

   string newReg =aryReg[0];
   string strOutput=strHtml;
   for(int i = 0;i<aryReg.Length;i++)
   {
    Regex regex = new Regex(aryReg[i],RegexOptions.IgnoreCase );
    strOutput = regex.Replace(strOutput,aryRep[i]);
   
   }

   strOutput.Replace("<","");
   strOutput.Replace(">","");
   strOutput.Replace("\r\n","");


   return strOutput;
  }

4.到了后面就是入库了,这个大家都懂了吧.但是我还有点问题就是,在我写数据的时候,出了EXCEPTION,说我的字段太长了,不能写进到数据库,我用的是ACCESS,我试验下用SQL吧.

5.大家有什么好的建议给我留个言赛.共同进步嘛.

来源:http://www.cnblogs.com/jetadv/archive/2006/02/18/333213.aspx

转载于:https://www.cnblogs.com/jetadv/archive/2006/02/18/333213.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
猎马搜索源码是一种用于搜索引擎优化(SEO)的开源程序。该程序的改良版称为火端搜索,它是基于原有的百度搜索引擎和好搜搜索引擎的爬虫程序。这个程序的作用是从互联网上抓取网页数据,并将其整理成可供搜索的索引。 猎马搜索源码(火端搜索改良版)的核心部分是使用PHP编写的爬虫程序。爬虫程序通过模拟人类对网页的访问,自动查找和下载网页,并将网页的内容存储到数据库中。该程序还会自动解析网页的链接,以便进一步抓取与之相关的页面。通过这种方式,猎马搜索实现了建立搜索引擎所需要的索引。 猎马搜索源码(火端搜索改良版)的另一个重要组成部分是搜索页面的前端设计。通过HTML、CSS和JavaScript等技术,将搜索结果以友好的方式展示给用户。用户可以在搜索框中输入关键词,并通过点击搜索按钮,触发后台查询相关的网页内容。搜索结果会按照相关度和其他算法进行排序,并以列表或磁贴等形式展示给用户。 猎马搜索源码(火端搜索改良版)具有一些优化功能。例如,它可以根据用户的搜索历史和行为,提供个性化的搜索结果。此外,它还采用了各种算法来过滤垃圾信息、提高搜索效率和准确度。 总的来说,猎马搜索源码(火端搜索改良版)是一种功能强大的搜索引擎优化工具,它利用PHP编写的爬虫程序获得网页数据,并通过前端设计展示给用户。通过优化和改良,猎马搜索源码能提供个性化搜索结果,并提高搜索效率和准确度。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值