分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow
也欢迎大家转载本篇文章。分享知识,造福人民,实现我们中华民族伟大复兴!
有好多群,懒得随时更新群的状态,特别是当前人数这个经常变的东西。这里根据QQ的一个API程序,读取状态,直接看看代码吧。
读取的接口程序和测试代码!
- package com.laozizhu.blog.util;
- import java.io.Reader;
- import java.io.StringReader;
- import java.util.List;
- import org.jdom.Document;
- import org.jdom.Element;
- import org.jdom.input.SAXBuilder;
- /**
- * 读取的接口程序。
- *
- * @author 老紫竹 www.laozizhu.com
- */
- public class QQGroupBaseInfoAPI {
- public static QQGroupBaseInfo get(String id) {
- try {
- String textXml = PageService.getPage("http://group.qq.com/cgi-bin/groupbaseinfo?groupid=" + id, "GBK");
- char c = 0x1d;
- String s = String.valueOf(c);
- textXml = textXml.replaceAll(s, "");
- SAXBuilder builder = new SAXBuilder();
- Document doc = null;
- Reader in = new StringReader(textXml);
- doc = builder.build(in);
- Element root = doc.getRootElement(); // 拿到 date
- List date = root.getChildren(); // 下一级数据
- Element result = (Element) date.get(0); // 结果标志
- if (!"0".equals(result.getTextTrim())) {
- System.out.println("没找到" + id);
- return null; // 没找到
- }
- Element item = (Element) date.get(1);
- QQGroupBaseInfo o = new QQGroupBaseInfo();
- o.setLogo(MyHTMLDecoder.decode(item.getChildTextTrim("logo")));
- o.setMemo(MyHTMLDecoder.decode(item.getChildTextTrim("memo")));
- o.setMale(MyHTMLDecoder.decode(item.getChildTextTrim("male")));
- o.setFemale(MyHTMLDecoder.decode(item.getChildTextTrim("female")));
- o.setRank(MyHTMLDecoder.decode(item.getChildTextTrim("rank")));
- o.setGroupId(MyHTMLDecoder.decode(item.getChildTextTrim("groupid")));
- o.setGroupType(MyHTMLDecoder.decode(item.getChildTextTrim("grouptype")));
- o.setGroupOption(MyHTMLDecoder.decode(item.getChildTextTrim("logo")));
- o.setBrief(MyHTMLDecoder.decode(item.getChildTextTrim("brief")));
- o.setGroupClass(MyHTMLDecoder.decode(item.getChildTextTrim("groupclass")));
- o.setCreator(MyHTMLDecoder.decode(item.getChildTextTrim("creator")));
- o.setUin(MyHTMLDecoder.decode(item.getChildTextTrim("uin")));
- o.setFaceId(MyHTMLDecoder.decode(item.getChildTextTrim("faceid")));
- o.setCreateTime(MyHTMLDecoder.decode(item.getChildTextTrim("crttime")));
- o.setGroupStatus(MyHTMLDecoder.decode(item.getChildTextTrim("gpstatus")));
- o.setClassName(MyHTMLDecoder.decode(item.getChildTextTrim("class")));
- o.setFlag(Long.parseLong(item.getChildTextTrim("flag")));
- o.setTotal(Integer.parseInt(item.getChildTextTrim("total")));
- o.setGuestDeny(Integer.parseInt(item.getChildTextTrim("guestdeny")));
- o.setMemberMax(Integer.parseInt(item.getChildTextTrim("membermax")));
- o.setGroupFace(Integer.parseInt(item.getChildTextTrim("groupface")));
- o.setGroupName(MyHTMLDecoder.decode(item.getChildTextTrim("groupname")));
- o.setOpen(Integer.parseInt(item.getChildTextTrim("isopen")) == 1);
- o.setOpen(Integer.parseInt(item.getChildTextTrim("isopen")) == 1);
- o.setCloseExpire(Integer.parseInt(item.getChildTextTrim("iscloseexpire")) == 1);
- o.setSuperExpireDate(MyHTMLDecoder.decode(item.getChildTextTrim("superexpiredate")));
- return o;
- } catch (Exception ex) {
- ex.printStackTrace();
- return null;
- }
- }
- /**
- * @param args
- */
- public static void main(String[] args) {
- QQGroupBaseInfo o = get("56763840");
- System.out.println(o.getTotal());
- System.out.println(o.getMemberMax());
- }
- }
读取的接口信息
- package com.laozizhu.blog.util;
- /**
- * QQ的基础信息。
- *
- * @author 老紫竹 www.laozizhu.com
- */
- public class QQGroupBaseInfo {
- // 图标
- private String logo;
- // 公告
- private String memo;
- private String male;
- private String female;
- private String rank;
- // 群号
- private String groupId;
- private String groupType;
- private String groupOption;
- // 简介
- private String brief;
- private String groupClass;
- private String groupClassEx;
- // 创建人
- private String creator;
- // 创建人的号码
- private String uin;
- private String faceId;
- private String createTime;
- // 是否为高级群
- private String groupStatus;
- // 分类,比如软件交流
- private String className;
- private long flag;
- // 当前总人数
- private int total;
- private int guestDeny;
- // 最高人数
- private int memberMax;
- private int groupFace;
- // 群名字
- private String groupName;
- private boolean open;
- private boolean mem;
- private boolean closeExpire;
- // 高级群过期日期
- private String superExpireDate;
- public String getLogo() {
- return logo;
- }
- public void setLogo(String logo) {
- this.logo = logo;
- }
- public String getMemo() {
- return memo;
- }
- public void setMemo(String memo) {
- this.memo = memo;
- }
- public String getGroupId() { <