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

说到QQ,预计中夏族民共和国差不离的人都明白,也用过,QQ交友也火速成为一种风尚,一种生存,乃至一种社会风貌。扯远了,呵呵。图片 1

说到城市达人,测度很多QQ的用户都会掌握,那是腾讯交友平台的1个行径,很多用户的新闻都能够查询到,城市达人的网址如下:http://city.qzone.qq.com/
,里面搜索QQ用户资料揣度是一大优点。因为在不仅在其网站上提供查找用户消息的职能,更难难可贵的是提供了给外部访问的接口,因而,应运而生出比比皆是QQ交友的软件,交友辅助软件,都是靠城市达人提供的数码接口。

作者也在那么些基础上做了一个QQ资料查询和导出的工具:QQ号码采集及邮件发送系统,QQ号码采集就是使用了都市达人的多少举办整理的。

正文重要介绍怎么着利用城市达人的表面访问接口,达成QQ数据的取得和剖析,分享有关的支出经历,辅助我们探听相关的难点,希望大家创制出更好的QQ应用软件。

上面先看看那个软件的界面。

图片 2

 撇开邮件发送部分,我们能够见到,QQ的数目可以分页查看,也得以全方位尺码的数额导出,如今都市达人的多少接口是经过UPAJEROL地址获取的,地址如下形式:

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号码,其余的依照英文就驾驭具体意思了;其余一部份是结果音信,包括当期页面包车型地铁页数,总计果的数额和页数等消息,那几个对大家非凡管用。

若果想采纳QQ城市达人接口实行编制程序,就是分析这个看似诡异字符了,它们其实是Json的科班格式,解析那一个体系有二种方式,一种是遵照那几个数据的原理,使用字符定位的方式(如正则表明式等)形式开始展览领取数额,其它一种方式正是明日要讲的使用.NET的机件,直接将这一个多少转换为实体类,一两行代码化解,呵呵。

剖析代码如下:

 

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)全体的数码是按页再次回到了,一般一页为13个数据,你只要要回去多页,或许每页重回多条记下,如笔者上面包车型客车软件,这就须要分析重回结果,大概循环查找钦命的页面结果数据了。

2)查找四个页面包车型大巴数量是相比较耗费时间的,因而最佳放置一个单身的线程处理数量,那样能够增加用户体验

3)使用Json.net的连锁组件可以增强处理效能,不用去解析那2个鬼魅的的字符,不过要留意的是,实体类的天性也许字段,必须符合重回结果的称呼,大小写要统一,不然出错。

4)城市达人重临的华语字符是Unicode字符编码处理过的字符,因而要做相应的解析工作才能健康显示。

5)城市代码是一个很庞大的多寡,里面有省份(包涵另国外家地点)、城市(如圣菲波哥伦比亚大学)、地区(如广宁县)等剧情,那一个能够找城市达人的页面里面包车型的士剧本拿到相关的数额,不过最棒的是豪门参考小编上面说的软件,里面包车型客车相关数据小编都收拾好了,大家能够直接行使。小编是依据这多少个脚本里面包车型客车Json格式这里的,至少开销1天的素养,很麻烦,希望大家不要走老路。呵呵

企望此文对大家具有帮助,多谢帮助。

 

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

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

 

发表评论

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