JavaQQ城市达人接口编制程序及经验分享

谈起QQ,估算中华夏族民共和国家基础本上的人都知晓,也用过,QQ交友也火速造成1种时髦,一种生活,乃至一种社会风貌。扯远了,呵呵。Java 1

提起城市达人,估计繁多QQ的用户都会通晓,那是腾讯交友平台的贰个举措,多数用户的音信都足以查询到,城市达人的网站如下:http://city.qzone.qq.com/Java,
,里面搜索QQ用户资料推断是一大优点。因为在不仅在其网址上提供查找用户音讯的作用,更难难可贵的是提供了给外部访问的接口,因而,应运而生出不少QQ交友的软件,交友辅助软件,都以靠城市达人提供的数码接口。

小编也在这么些基础上做了贰个QQ资料查询和导出的工具:QQ号码搜罗及邮件发送系统,QQ号码采撷正是利用了都市达人的数码进行整治的。

本文首要介绍怎么着利用城市达人的外部访问接口,完毕QQ数据的获得和剖析,分享有关的开垦经历,帮忙咱们探听相关的标题,希望我们成立出更加好的QQAPP。

上边先看看那么些软件的分界面。

Java 2

 撇开邮件发送部分,我们能够看来,QQ的多寡足以分页查看,也得以全方位规则的数据导出,如今都市达人的数量接口是因此U途乐L地址获取的,地址如下方式:

http://city.qzone.qq.com/json.php?mod=search&act=page&city=440300&age=8&sex=3&page=1

里面包车型地铁city是城市代码(包括省、城市、地区的代码),age是年纪段,Sex是性别,page是第几页,壹般是透过那一个规范来取得的

这么些数据重返的格式是Json格式的多少,不知道我们做.net有未有据书上说过,那在Java领域但是很已经出来的定义和应用了。

运用接口第一遍拿走的时候,再次回到的多少用包蕴有那几个条件结果的页数、数据等音信,下边笔者介绍下回到的数据:

Java 3

 

数量首要分为两有个别,一部份是QQ用户资料,如{“uin”:开端的数据,uin正是QQ号码,别的的遵照英文就知晓具体意思了;其余一部份是结果新闻,包括当期页面包车型地铁页数,总括果的数额和页数等音信,这一个对大家丰裕有效。

假诺想利用QQ城市达人接口举办编制程序,正是分析这几个近似离奇字符了,它们其实是Json的正规化格式,解析这个项目有二种方法,1种是基于这几个数据的规律,使用字符定位的方法(如正则表明式等)方式开始展览领取数额,别的1种艺术正是今天要讲的采用.NET的零部件,直接将这个数量转变为实体类,一两行代码解决,呵呵。

解析代码如下:

 

List<QQData> entities = (List<QQData>)JavaScriptConvert.DeserializeObject(json, typeof(List<QQData>));

 

 

自家定义的实体类新闻如下:

Java 4Java 5Code
Java 6    public class QQData
Java 7Java 8    Java 9{
Java 10        public int err;
Java 11        public int page;
Java 12        public pagecount property;
Java 13
Java 14        public List<memberdata> data = new List<memberdata>();
Java 15    }
Java 16
Java 17    public class pagecount
Java 18Java 19    Java 20{
Java 21        public string total_count;
Java 22        public int total_page_count;
Java 23    }
Java 24
Java 25    public class memberdata
Java 26Java 27    Java 28{
Java 29        public string uin;
Java 30        public string online;
Java 31        public string birthday;
Java 32        public string nickname;
Java 33        public string smallurl;
Java 34        public string sex;
Java 35        public string yellow;
Java 36        public string job;
Java 37        public string cate;
Java 38        public string state1;
Java 39        public string state2;
Java 40        public string state3;
Java 41        public string city;
Java 42        public string edu;
Java 43        public string intent;
Java 44        public string emotion;
Java 45        public string home;
Java 46        public string bloodType;
Java 47        public string weight;
Java 48        public string height;
Java 49        public int albumID;
Java 50
Java 51        public override string ToString()
Java 52Java 53        Java 54{
Java 55            return string.Format(“uin:{0} nickname:{1}”, uin, UnicodeHelper.UnicodeToString(nickname));
Java 56        }
Java 57    }

 

接纳城市达人接口数据几个地点要值得注意:

一)全部的数目是按页重临了,壹般一页为十二个数据,你1旦要回到多页,可能每页重返多条记下,如我下边的软件,那就需求分析再次回到结果,或许循环查找钦命的页面结果数据了。

二)查找多个页面包车型客车数额是相比耗时的,因而最佳放置1个独立的线程处理数据,那样能够增加用户体验

三)使用Json.net的连带组件能够增长处理作用,不用去解析那二个牛鬼蛇神的的字符,然而要专注的是,实体类的性质只怕字段,必须符合再次来到结果的名目,大小写要统1,不然出错。

四)城市达人重回的粤语字符是Unicode字符编码处理过的字符,因而要做相应的辨析工作技艺健康展现。

伍)城市代码是四个很巨大的多寡,里面有省份(包罗其余国家地区)、城市(如巴塞罗那)、地区(如信宜市)等内容,那个足以找城市达人的页面里面包车型客车本子得到相关的数码,可是最棒的是咱们参考小编上面说的软件,里面包车型客车连锁数据自个儿都收十好了,大家能够一贯运用。我是依据那3个脚本里面包车型客车Json格式那里的,至少开支1天的武功,很劳苦,希望我们不要走老路。呵呵

盼望此文对我们有所匡助,谢谢帮衬。

 

 上边的软件“QQ号码搜集及邮件发送系统”详细介绍地点:http://www.iqidi.com/qqcollector.htm

 软件用到的解析Json的类库是Newtonsoft.Json.dll,
我们可以在google里面查询相关的内容介绍,再此提供该压缩文件:http://files.cnblogs.com/wuhuacong/Newtonsoft.Json.rar

 

相关文章