六狼论坛

 找回密码
 立即注册

QQ登录

只需一步,快速开始

新浪微博账号登陆

只需一步,快速开始

搜索
查看: 763|回复: 0

kugou音乐api

[复制链接]

升级  18.67%

22

主题

22

主题

22

主题

秀才

Rank: 2

积分
78
 楼主| 发表于 2012-12-30 16:18:58 | 显示全部楼层 |阅读模式
<div id="cnblogs_post_body">改代码依赖于酷狗云音乐的api接口"http://cloud.kugou.com/app/getSearchResult.php?key={key}&pageNo={pageno}&pageSize={pagesize}"
贴上代码:
<div class="cnblogs_code" >显示代码<div id="cnblogs_code_open_04d97f27-8ad8-4396-a3ab-f1822b0e5fc7" class="cnblogs_code_hide"> 1 using System; 2 using System.Text.RegularExpressions; 3 using System.Text; 4 using System.Collections; 5 using System.Net; 6 using System.IO; 7 using System.Net.Json; 8 9 public class Kugou10 {11     private static void Usage()12     {13         StringBuilder sb=new StringBuilder();14         sb.Append("Kugou /key:keyvalue [/pageno:pageno] [/pagesize:pagesize] /out:outfile\n");15         sb.Append("-key        关键字\n");16         sb.Append("-pageno        页号\n");17         sb.Append("-pagesize    页面大小\n");18         Console.WriteLine(sb.ToString());19     }20     private static Hashtable keys=new Hashtable();21     public static void Main(string[]args)22     {23         try24         {25         if(args.Length==0)26         {27             Usage();28         }29         else30         {31             foreach(string arg in args)32             {33                 Regex re=new Regex(@"^/(.+):(.+)$",RegexOptions.IgnoreCase);34                 Match match=re.Match(arg);35                 GroupCollection  gps=match.Groups;36                 string key="";37                 string value="";38                 for(int i=1;i<gps.Count;i++)39                 {40                     if(i==1)41                     {42                         key=gps.Captures[0].Value;43                     }44                     else45                     {46                         value=gps.Captures[0].Value;47                     }48                 }49                 keys.Add(key,value);50             }51             if(keys["key"]== null)52             {53                 Console.WriteLine("没有输入key值!");54                 return ;55             }56             if(keys["pageno"]==null)57                 keys.Add("pageno","1");58             if(keys["pagesize"]==null)59                 keys.Add("pagesize","1000");60             string url="http://cloud.kugou.com/app/getSearchResult.php?key="+keys["key"].ToString()+"&pageNo="+keys["pageno"].ToString()+"&pageSize="+keys["pagesize"].ToString();61             WebClient client=new WebClient();62             client.Encoding=Encoding.UTF8;63             string result=client.DownloadString(url);64             JSONObject obj=new JSONObject(result);65             JSONArray data=obj.getJSONArray("data");66             string table="<table border=\"1px\" cellspacing=\"0\">";67             table+="<tr><th>文件名</th><th>哈希值</th><th>拥有者</th><th>大小</th><th>比特率</th><th>拓展名</th><th>时长</th><th>位图id</th><th>行id</th></tr>";68             for(int i=0;i<data.length();i++)69             {70                 JSONObject item=data.getJSONObject(i);71                 table+="<tr>";72                 table+="<th>"+item.getString("FileName")+"</th>";73                 string u="http://cloud.kugou.com/singlePlayer/4/362/1/3/"+item.getString("Hash")+".swf";74                 table+="<th><a href=\""+u+"\">"+u+"</a></th>";75                 table+="<th>"+item.getString("Owner")+"</th>";76                 table+="<th>"+item.getString("Size")+"</th>";77                 table+="<th>"+item.getString("BitRate")+"</th>";78                 table+="<th>"+item.getString("ExtName")+"</th>";79                 table+="<th>"+item.getString("TimeLength")+"</th>";80                 table+="<th>"+item.getString("Bitmap")+"</th>";81                 table+="<th>"+item.getString("RowID")+"</th>";82                 table+="</tr>";83             }84             table+="</table>";85             if(keys["out"]==null)86             {87                 keys.Add("out","output.html");88             }89             File.WriteAllText(keys["out"].ToString(),table,Encoding.Default);90             Console.WriteLine("转换成功!");91             System.Diagnostics.Process.Start(@"C:\Program Files\Internet Explorer\iexplore.exe",Environment.CurrentDirectory+"\\"+keys["out"].ToString());92         }93         }catch(Exception e)94         {95             File.WriteAllText("log",e.StackTrace);96         }97     }98 }
您需要登录后才可以回帖 登录 | 立即注册 新浪微博账号登陆

本版积分规则

快速回复 返回顶部 返回列表