QQ城市达人接口编程及涉分享

说到QQ,估计中国大多的丁都知道,也为此了,QQ交友也快速成同栽时尚,一种植生活,乃至一种社会现象。扯远了,呵呵。图片 1

说到市达人,估计很多QQ的用户都见面了解,这是腾讯交友平台的一个行动,很多用户之信息都好查询到,城市达人的网址如下:http://city.qzone.qq.com/
,里面找QQ用户资料估计是千篇一律挺优点。因为以不仅在那个网站上提供找寻用户信息之效果,更难难可贵的凡提供了受外部看的接口,因此,应运而生出累累QQ交友的软件,交友辅助软件,都是因城市达人提供的数目接口。

作者为在这基础及召开了一个QQ资料查询及导出的工具:QQ号码采集与邮件发送系统,QQ号码采集就是用了都会达人的数量开展整的。

正文主要介绍如何采取城市达人的标看接口,实现QQ数据的博与分析,分享相关的出经历,帮助大家了解有关的问题,希望大家创造有再好之QQ应用软件。

脚先看看是软件的界面。

图片 2

 撇开邮件发送部分,大家可观看,QQ的多寡好分页查看,也可以整个尺度的数据导出,目前城达人的数量接口是经过URL地址获取之,地址如下形式:

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)所有的多少是按页返回了,一般同样页为10独数据,你只要要回多页,或者每页返回多条记下,如我面的软件,那就待分析返回结果,或者循环查找指定的页面结果数据了。

2)查找多只页面的多寡是较耗费时间之,因此最好好放置一个独门的线程处理数量,这样可以增强用户体验

3)使用Json.net的连带组件可以增长处理效率,不用去分析那些鬼怪的底字符,但是一旦注意的凡,实体类的习性或者字段,必须符合返回结果的名号,大小写如联合,否则出错。

4)城市达人返回的中文字符是Unicode字符编码处理了之字符,因此如果举行相应的分析工作才会健康显示。

5)城市代码是一个不行庞大之数码,里面来省(包括其他国家地方)、城市(如广州)、地区(如天河区)等内容,这些好找市达人的页面中的本子拿到相关的数量,不过最好之是豪门参考我面说的软件,里面的有关数据我都收拾好了,大家好直接行使。我是冲那些脚本里面的Json格式这里的,至少花费1上的功夫,很烦,希望大家不要动老路。呵呵

希此文对大家持有助,谢谢支持。

 

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

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

 

相关文章