中国代码恒熠百度小偷V1.0之网页搜索

演示见http://baidu.china-code.net/

作品来源:在做浙搜www.zhesou.com这个项目中,老板要求在三天内做好获取百度的网页内容和mp3的内容.

花了一个晚上基本上把这个任务完成。

做这个搜索的关键是编码和正则表达式。

下面主要说web.aspx.cs

 string str1,Result;
   string wd=System.Web.HttpUtility.UrlEncode(Request.QueryString["wd"], System.Text.Encoding.GetEncoding("GB2312"));
   string pn=Request.QueryString["pn"];
   if (pn=="")
   {
    pn="0";
   }
  //Response.Write("http://www.baidu.com/s?wd="+wd+"&pn="+pn+"&lm=0&si=&rn=10&ie=gb2312&ct=0&cl=3&f=1&");
   

   string PageUrl="http://www.baidu.com/s?wd="+wd+"&pn="+pn+"&lm=0&si=&rn=10&ie=gb2312&ct=0&cl=3&f=1&";
   WebClient wc = new WebClient(); 
       wc.Credentials = CredentialCache.DefaultCredentials; 
         Byte[] pageData = wc.DownloadData(PageUrl); 
          Result = Encoding.Default.GetString(pageData);
   
   
   string[] strtemp = System.Text.RegularExpressions.Regex.Split(Result,@"篇,用时");
   str1=strtemp[0];
   Result=strtemp[1];
   strtemp=null;
   strtemp = System.Text.RegularExpressions.Regex.Split(str1,@"找到相关网页约");
   str1=strtemp[1];
   strtemp=null;
   Response.Write("共有"+str1+"条记录<br>");
   strtemp = System.Text.RegularExpressions.Regex.Split(Result,"下一页");
   Result=strtemp[0]+"下一页</FONT></A></DIV>";
   strtemp=null;
   strtemp = System.Text.RegularExpressions.Regex.Split(Result,"DIV id=ScriptDiv>");
   Result=strtemp[1];
   strtemp=null;
   Result=System.Text.RegularExpressions.Regex.Replace(Result,@"- <a href=(/S*) target=""_blank/"" class=m>百度快照</a>","");
   Result=System.Text.RegularExpressions.Regex.Replace(Result,@"a href=s","a href=");
   Response.Write(Result);

BUG:1)当搜索记录小于100条时,系统出错。

             2)当搜索结果包含"下一页"时,系统显示不完全。

正在修正BUG中。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值