说起QQ,估计中夏族民共和国家基础本上的人都知道,也用过,QQ交友也飞快成为一种时尚,一种生存,乃至1种社会现象。扯远了,呵呵。图片 1

谈起城市达人,猜度很多QQ的用户都会精晓,这是腾讯交友平台的一个举止,很多用户的音讯都足以查询到,城市达人的网站如下:http://city.qzone.qq.com/
,里面搜索QQ用户资料推测是一大亮点。因为在不仅在其网址上提供找寻用户音讯的效益,更难难可贵的是提供了给外部访问的接口,由此,应运而生出过多QQ交友的软件,交友帮助软件,都是靠城市达人提供的数量接口。

小编也在这几个基础上做了一个QQ资料查询和导出的工具:QQ号码采集及邮件发送系统,QQ号码采集正是运用了都会达人的数目开始展览整理的。

本文主要介绍如何行使城市达人的外表访问接口,完成QQ数据的得到和分析,分享相关的付出经历,扶助我们明白有关的题材,希望我们制造出越来越好的QQ应用程式。

下边先看看这么些软件的界面。

图片 2

 撇开邮件发送部分,大家可以看来,QQ的多少能够分页查看,也得以全方位准绳的多寡导出,近期都市达人的数据接口是透过ULX570L地址获取的,地址如下情势:

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领域然则很已经出来的定义和使用了。

运用接口第一次拿走的时候,再次来到的多少用包蕴有那几个规则结果的页数、数据等新闻,上边我介绍下回到的数据:

图片 3

 

数量首要分为两局地,壹部份是QQ用户资料,如{“uin”:初叶的数据,uin就是QQ号码,其余的依照英文就知晓具体意思了;其它1部份是结果新闻,包蕴当期页面包车型大巴页数,总计果的数码和页数等音信,那个对大家丰盛实惠。

若果想使用QQ城市达人接口进行编制程序,就是分析那个近似诡异字符了,它们其实是Json的正经格式,解析这么些项目有三种方式,1种是基于那一个数据的原理,使用字符定位的秘籍(如正则表明式等)格局进行领取数额,其余1种艺术正是后日要讲的选拔.NET的零部件,直接将那个数量转换为实体类,1两行代码解决,呵呵。

解析代码如下:

 

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

 

 

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

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

 

使用城市达人接口数据多少个地点要值得注意:

一)全数的数码是按页重回了,壹般1页为十个数据,你壹旦要回去多页,可能每页再次来到多条记下,如小编上面的软件,那就必要分析重回结果,或许循环查找内定的页面结果数据了。

二)查找三个页面包车型地铁数额是比较耗时的,因而最棒放置三个单独的线程处理数据,这样能够升高用户体验

3)使用Json.net的相干组件能够提升处理作用,不用去解析那个鬼魅的的字符,不过要留心的是,实体类的品质或许字段,必须符合再次来到结果的名号,大小写要联合,不然出错。

4)城市达人重临的汉语字符是Unicode字符编码处理过的字符,因而要做相应的辨析工作才能寻常呈现。

伍)城市代码是多少个很庞大的数量,里面有省份(包蕴其余国家地区)、城市(如苏黎世)、地区(如罗定市)等内容,那么些可以找城市达人的页面里面包车型客车台本获得有关的数额,但是最棒的是大家参考作者上面说的软件,里面包车型客车连锁数据本人都收10好了,我们能够直接动用。小编是基于那几个脚本里面的Json格式那里的,至少费用1天的素养,很勤奋,希望我们不要走老路。呵呵

指望此文对大家全数辅助,多谢帮忙。

 

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

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

 

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图