【爬虫】QQ空间爬虫简单思路

dexfire · 2020-3-10 · 次阅读


【爬虫】QQ空间爬虫简单思路

我们继续尝试爬取QQ空间的好友动态。现在是大数据当道的时代,爬虫工程师也成了一个关键性的抢手职位,你可以不做一个优秀的爬虫工程师,但掌握一门扎实的爬虫编写技能,是可以为你的职业技能加分的。同时

展开全文:读取完整的说说 feed 内容

QQ 空间说说常见如图所示的展开全文选项,那么怎样实现一次性爬取完整说说内容呢?

单条说说的html层级结构:
p-1

  • ul > [data-page=‘5’]
    • li > f-single f-s-s
      • div > f-single-head f-aside
      • div > f-single-content f-wrap
        • div > f-item f-s-i
          • div > f-info qz_info_cut none
          • div > f-info qz_info_complete
          • div > qz_summary wupfeed
      • div > f-single-foot
  • ul > [data-page=‘6’]
    p0

读取完整 Feed 内容,这里可以使用 浏览器调试工具中的 Elements -> Event Listener
可以读取并定位 js 调用堆栈,达到监视 js 运行的目的。

p1

我们追踪一次看看:

p3

发现其中在777行:

p4

 for (var n in a) {
    if (a.hasOwnProperty(n)) {
        $j(e).delegate(n, "click", function(e) {
            var n = $j(this);
            var r = QZONE.Feeds.queryFeedByElem(this);
            if (!r) {
                return
            }
            var o = new _(r,r.container.getFeedIndex(r));
            var s = a[e.handleObj.selector];
            if (e.handleObj.selector == '[data-clicklog="ignore"]') {
                return
            }
            if (e.handleObj.selector == "[data-clicklog]") {
                if (!n.attr("data-clicklog") || a['[data-clicklog="' + n.attr("data-clicklog") + '"]']) {
                    return
                } else {
                    s.pingType = n.attr("data-clicklog")
                }
            }
            if (s.callback) {
                if (!s.callback(this, o)) {
                    return
                }
            }
            o.setDatas(s);
            if (!t[i(o)]) {
                return
            }
            if (h) {
                if (s.flush) {
                    h.flushFeedDataList(o)
                } else {
                    h.addFeedDataList(o)
                }
                h.pingGDClick(o)
            }
        })
    }
}

调用了一个var r = QZONE.Feeds.queryFeedByElem(this); 函数,而这个疑似就是获取Feed的最终函数,查找定义为:

function(require, e) {
    var t = jQuery;
    t = e.$e.find('a[data-cmd="qz_popup"][data-version="3"]')
    a = $j(t[0]),
    var I = parseInt(a.attr("data-newplayer"));
    # feeds_core.js line 1548
    QZONE.Feeds.queryFeedByElem = function(e) {
        if (!e || !e.nodeType) return;
        var i;
        if (t(e).hasClass("f-s-s")) {
            i = e
        } else {
            i = t(e).parents(".f-s-s").get(0)
        }
        if (i) {
            var a = t(i).data("__cuid__");
            var n = I[a];
            if (n) return n.getFeedByElem(i)
        }
    };
}

# feeds_core line 929
function k(e, a) {
    this.feeds = [];
    this.elem = e;
    this.cid = e.id;
    this.sortsession = (new Date).getTime();
    t.extend(this, a);
    C.init(e, this);
    i.bindClicklog(this.elem);
    i.updateSession(this.sortsession);
    if (QZONE.ICFeeds.VideoManager) {
        QZONE.ICFeeds.VideoManager.reset()
    }
}

# feeds_core line 980
k.prototype.getFeedByElem = function(e) {
    if (!e) return null;
    for (var t = 0; this.feeds[t]; t++) {
        if (this.feeds[t].elem == e) return this.feeds[t]
    }
};

k.prototype.appendFeedsData = function(e) {
    if (!$j.isArray(e)) return;
    var t, i;
    for (i = 0; e[i]; i++) {
        t = e[i];
        this.addNewFeed(t.node, t.data)
    }
};
k.prototype.addNewFeed = function(e, t) {
    if (!e || !t) {
        return
    }
    var a = new w(e, t, this);
    a.$e.data("__cuid__", this.cuid);
    this.feeds.push(a);
    i.addFeedsToPool([[a, this.getFeedIndex(a)]]);
    return a
};

k.prototype.getFeedByElem = function(e) {
    if (!e) return null;
    for (var t = 0; this.feeds[t]; t++) {
        if (this.feeds[t].elem == e) return this.feeds[t]
    }
};
k.prototype.removeFeedsByUin = function(e) {
    if (!e) return;
    var t, i = this.feeds.length - 1;
    for (; this.feeds[i]; i--) {
        t = this.feeds[i];
        if (t.data.opuin == e) {
            this.feeds.splice(i, 1);
            t._clear(true)
        }
    }
};

# feed.js line 77
function initFirstPageFeeds(opts) {
var currentContainer, _csfeedsData;
opts = opts || {};
var qzlog = QZONE.consoleFM;
qzlog.log({cm:"feeds", cf:"initFirstPageFeeds", w:{"sence":opts.sence}});
if (opts.sence == "home_personal") {
    opts.req_sence = "home";
    currentContainer = FeedsCore.getHomeFeedsContainer(opts);
    currentContainer.initFirstPage(opts.feedsData);
} else {
    if (opts.sence == "famous_feeds") {
    opts.req_sence = "ic";
    FeedsCore.getFamousFeedsContainer(opts);
    } else {
    opts.req_sence = opts.sence = "ic";
    _csfeedsData = {};
    $j.each(g_Data.feedsPart1, function(key, val) {
        _csfeedsData[key] = val;
    });
    $j.each(g_Data.feedsPart2, function(key, val) {
        _csfeedsData[key] = val;
    });
    if (G_Param.scope == 1 || g_Data.feeds.type == "") {
        currentContainer = FeedsCore.getHostFeedsContainer(opts);
        currentContainer.initFirstPage(_csfeedsData);
    }
    if (G_Param.scope == 7) {
        FeedsCore.getCareFeedsContainer(opts);
    } else {
        currentContainer = FeedsCore.getFriendFeedsContainer(opts);
        currentContainer.initFirstPage(_csfeedsData);
        cpujs.load(function() {
        require.async("v8/ic/hotfeeds", function(M) {
            M.showHotFeed();
        });
        });
    }
    }
}
}
exports.onNewFeedsRender = function(datas) {
var feedsContainer = getFeedsCurrent();
if ($j.isArray(datas) && datas.length) {
    feedsContainer.appendFeedsData(datas);
}
QZONE && (QZONE.qzEvent && QZONE.qzEvent.dispatch("QZ_ON_NEW_FEEDS_RENDER", {feedsData:datas}));
};

常见的API、来源及合成

说说详情摘要

实际看到的效果:

1. 个人说说摘要信息 emotion_cgi_getcmtreply_v6

https://user.qzone.qq.com/proxy/domain/taotao.qzone.qq.com/cgi-bin/emotion_cgi_getcmtreply_v6?need_private_comment=1&uin=275176629&hostUin=4483538&start=0&num=3&order=1&topicId=4483538_d2694400abeb6e5e7e560300&format=jsonp&inCharset=&outCharset=&ref=&random=0.8046652240930736&g_tk=1901926462&qzonetoken=2288dbd40f0281027fa09e41caa49b8c01a461492b4a0ebcef3fd4433bbb11b5130f105a791bf44dce&g_tk=1901926462

_Callback({
    "code": 0,
    "data": {
        "checkflag": 0,
        "cmtnum": 6,
        "fwdnum": 2,
        "hostUin": "4483538",
        "lbs": {
            "id": "",
            "idname": "",
            "name": "",
            "pos_x": "",
            "pos_y": ""
        },
        "loginUin": 275176629,
        "name": "@网易云热评墙",
        "rt_flag": 0,
        "rt_sum": 0,
        "source": 1,
        "tid": "d2694400abeb6e5e7e560300",
        "total": 6,
        "uin": 4483538
    },
    "message": "",
    "result": {
        "code": 0,
        "msg": "",
        "now": 1584331191
    },
    "right": 1,
    "smoothpolicy": {
        "comsw.disable_soso_search": 0,
        "l1sw.read_first_cache_only": 0,
        "l2sw.dont_get_reply_cmt": 0,
        "l2sw.mixsvr_frdnum_per_time": 50,
        "l3sw.hide_reply_cmt": 0,
        "l4sw.read_tdb_only": 0,
        "l5sw.read_cache_only": 0
    },
    "subcode": 0
});

来源: 进入用户主页,https://user.qzone.qq.com/<QQ号> ,点击顶部 说说 按钮,抓取后台获得。

2. 说说点赞信息 qz_opcnt2

[https://user.qzone.qq.com/proxy/domain/r.qzone.qq.com/cgi-bin/user/qz_opcnt2?_stp=1584331140266&unikey=http%3A%2F%2Fuser.qzone.qq.com%2F4483538%2Fmood%2Fd2694400abeb6e5e7e560300.1<.>http%3A%2F%2Fuser.qzone.qq.com%2F4483538%2Fmood%2Fd2694400abeb6e5e7e560300.1<%7C>http%3A%2F%2Fuser.qzone.qq.com%2F4483538%2Fmood%2Fd269440013de6e5ef8730900.1<.>http%3A%2F%2Fuser.qzone.qq.com%2F4483538%2Fmood%2Fd269440013de6e5ef8730900.1<%7C>http%3A%2F%2Fuser.qzone.qq.com%2F4483538%2Fmood%2Fd2694400c7cf6e5ef0590700.1<.>http%3A%2F%2Fuser.qzone.qq.com%2F4483538%2Fmood%2Fd2694400c7cf6e5ef0590700.1<%7C>http%3A%2F%2Fuser.qzone.qq.com%2F4483538%2Fmood%2Fd26944001fc36e5ecb340800.1<.>http%3A%2F%2Fuser.qzone.qq.com%2F4483538%2Fmood%2Fd26944001fc36e5ecb340800.1<%7C>http%3A%2F%2Fuser.qzone.qq.com%2F4483538%2Fmood%2Fd269440038426e5ef37c0200.1<.>http%3A%2F%2Fuser.qzone.qq.com%2F4483538%2Fmood%2Fd269440038426e5ef37c0200.1<%7C>http%3A%2F%2Fuser.qzone.qq.com%2F4483538%2Fmood%2Fd2694400ec336e5e82380700.1<.>http%3A%2F%2Fuser.qzone.qq.com%2F4483538%2Fmood%2Fd2694400ec336e5e82380700.1<%7C>http%3A%2F%2Fuser.qzone.qq.com%2F4483538%2Fmood%2Fd2694400c8166e5e9f340f00.1<.>http%3A%2F%2Fuser.qzone.qq.com%2F4483538%2Fmood%2Fd2694400c8166e5e9f340f00.1<%7C>http%3A%2F%2Fuser.qzone.qq.com%2F4483538%2Fmood%2Fd269440047f76c5ebc3c0300.1<.>http%3A%2F%2Fuser.qzone.qq.com%2F4483538%2Fmood%2Fd269440047f76c5ebc3c0300.1<%7C>http%3A%2F%2Fuser.qzone.qq.com%2F4483538%2Fmood%2Fd2694400ebda6c5e37600700.1<.>http%3A%2F%2Fuser.qzone.qq.com%2F4483538%2Fmood%2Fd2694400ebda6c5e37600700.1<%7C>http%3A%2F%2Fuser.qzone.qq.com%2F4483538%2Fmood%2Fd2694400cbbe6c5e506e0900.1<.>http%3A%2F%2Fuser.qzone.qq.com%2F4483538%2Fmood%2Fd2694400cbbe6c5e506e0900.1&face=0<%7C>0<%7C>0<%7C>0<%7C>0<%7C>0<%7C>0<%7C>0<%7C>0<%7C>0&fupdate=1&g_tk=1901926462&qzonetoken=2288dbd40f0281027fa09e41caa49b8c01a461492b4a0ebcef3fd4433bbb11b5130f105a791bf44dce&g_tk=1901926462]
数据格式:


3. 说说消息列表 emotion_cgi_msglist_v6

每次最多请求20条,可重复获得个人用户全部说说。
https://user.qzone.qq.com/proxy/domain/taotao.qq.com/cgi-bin/emotion_cgi_msglist_v6?uin=4483538&ftype=0&sort=0&pos=0&num=20&replynum=100&g_tk=1901926462&callback=_preloadCallback&code_version=1&format=jsonp&need_private_comment=1&qzonetoken=2288dbd40f0281027fa09e41caa49b8c01a461492b4a0ebcef3fd4433bbb11b5130f105a791bf44dce&g_tk=1901926462
消息格式:

_preloadCallback({
    "auth_flag": 0,
    "censor_count": 0,
    "censor_flag": 0,
    "censor_total": 0,
    "cginame": 2,
    "code": 0,
    "logininfo": {
        "name": "lunatic",
        "uin": 275176629
    },
    "message": "",
    "msglist": [{
        "certified": 0,
        "cmtnum": 0,
        "commentlist": null,
        "conlist": [{
            "con": "北方多鸿雁,愿你此生辽阔,日落江河莫忘旧人曾婀娜。南方多阴雨,愿你缓步当歌,一缕炊烟似是梦中多归客。\n——网易云热评《人海》",
            "type": 2
        }],
        "content": "北方多鸿雁,愿你此生辽阔,日落江河莫忘旧人曾婀娜。南方多阴雨,愿你缓步当歌,一缕炊烟似是梦中多归客。\n——网易云热评《人海》",
        "createTime": "11:00",
        "created_time": 1584327602,
        "editMask": 4294967294,
        "fwdnum": 3,
        "has_more_con": 0,
        "isEditable": 1,
        "issigin": 0,
        "lbs": {
            "id": "",
            "idname": "",
            "name": "",
            "pos_x": "",
            "pos_y": ""
        },
        "name": "@网易云热评墙",
        "pic_template": "",
        "right": 1,
        "rt_sum": 2,
        "secret": 0,
        "source_appid": "",
        "source_name": "iPhone",
        "source_url": "",
        "t1_source": 1,
        "t1_subtype": 2,
        "t1_termtype": 3,
        "tid": "d2694400abeb6e5e7e560300",
        "ugc_right": 1,
        "uin": 4483538,
        "wbid": 0
    },
    {
        "certified": 0,
        "cmtnum": 0,
        "commentlist": null,
        "conlist": [{
            "con": "有些人见面要坐飞机\n有些人见面要坐时光机\n有些人见面只能做梦\n——网易云热评《浪子回头》",
            "type": 2
        }],
        "content": "有些人见面要坐飞机\n有些人见面要坐时光机\n有些人见面只能做梦\n——网易云热评《浪子回头》",
        "createTime": "10:02",
        "created_time": 1584324126,
        "editMask": 4294967294,
        "fwdnum": 1,
        "has_more_con": 0,
        "isEditable": 1,
        "issigin": 0,
        "lbs": {
            "id": "",
            "idname": "",
            "name": "",
            "pos_x": "",
            "pos_y": ""
        },
        "name": "@网易云热评墙",
        "pic_template": "",
        "right": 1,
        "rt_sum": 2,
        "secret": 0,
        "source_appid": "",
        "source_name": "iPhone",
        "source_url": "",
        "t1_source": 1,
        "t1_subtype": 2,
        "t1_termtype": 3,
        "tid": "d269440013de6e5ef8730900",
        "ugc_right": 1,
        "uin": 4483538,
        "wbid": 0
    },
    {
        "certified": 0,
        "cmtnum": 0,
        "commentlist": null,
        "conlist": [{
            "con": "“感受温柔,领略山河。”\n——我为两件事来到这世上,一是为了感受温柔,二是为了领略山河。",
            "type": 2
        }],
        "content": "“感受温柔,领略山河。”\n——我为两件事来到这世上,一是为了感受温柔,二是为了领略山河。",
        "createTime": "09:01",
        "created_time": 1584320477,
        "editMask": 4294967294,
        "fwdnum": 1,
        "has_more_con": 0,
        "isEditable": 1,
        "issigin": 0,
        "lbs": {
            "id": "",
            "idname": "",
            "name": "",
            "pos_x": "",
            "pos_y": ""
        },
        "name": "@网易云热评墙",
        "pic_template": "",
        "right": 1,
        "rt_sum": 3,
        "secret": 0,
        "source_appid": "",
        "source_name": "iPhone",
        "source_url": "",
        "t1_source": 1,
        "t1_subtype": 2,
        "t1_termtype": 3,
        "tid": "d2694400c7cf6e5ef0590700",
        "ugc_right": 1,
        "uin": 4483538,
        "wbid": 0
    },
    {
        "certified": 0,
        "cmtnum": 0,
        "commentlist": null,
        "conlist": [{
            "con": "浅喜似苍狗 深爱如长风把我吹向你穿过大海绕过高山你在哪里 终点就在那里\n——网易云热评《去见你》",
            "type": 2
        }],
        "content": "浅喜似苍狗 深爱如长风把我吹向你穿过大海绕过高山你在哪里 终点就在那里\n——网易云热评《去见你》",
        "createTime": "08:07",
        "created_time": 1584317251,
        "editMask": 4294967294,
        "fwdnum": 0,
        "has_more_con": 0,
        "isEditable": 1,
        "issigin": 0,
        "lbs": {
            "id": "",
            "idname": "",
            "name": "",
            "pos_x": "",
            "pos_y": ""
        },
        "name": "@网易云热评墙",
        "pic_template": "",
        "right": 1,
        "rt_sum": 2,
        "secret": 0,
        "source_appid": "",
        "source_name": "iPhone",
        "source_url": "",
        "t1_source": 1,
        "t1_subtype": 2,
        "t1_termtype": 3,
        "tid": "d26944001fc36e5ecb340800",
        "ugc_right": 1,
        "uin": 4483538,
        "wbid": 0
    },
    {
        "certified": 0,
        "cmtnum": 0,
        "commentlist": null,
        "conlist": [{
            "con": "你多么希望有一天突然惊醒,发现自己是在初一的一节课上睡着了,现在经历的一切都是一场梦,桌上满是你的口水。你告诉同桌,说做了一个好长好长的梦。同桌骂你白痴,叫你好好听课。你看着窗外的球场,一切都那么熟悉,一切还充满希望。\n ----投稿",
            "type": 2
        }],
        "content": "你多么希望有一天突然惊醒,发现自己是在初一的一节课上睡着了,现在经历的一切都是一场梦,桌上满是你的口水。你告诉同桌,说做了一个好长好长的梦。同桌骂你白痴,叫你好好听课。你看着窗外的球场,一切都那么熟悉,一切还充满希望。\n ----投稿",
        "createTime": "昨天22:57",
        "created_time": 1584284238,
        "editMask": 4294967294,
        "fwdnum": 2,
        "has_more_con": 0,
        "isEditable": 1,
        "issigin": 0,
        "lbs": {
            "id": "",
            "idname": "",
            "name": "",
            "pos_x": "",
            "pos_y": ""
        },
        "name": "@网易云热评墙",
        "pic_template": "",
        "right": 1,
        "rt_sum": 6,
        "secret": 0,
        "source_appid": "",
        "source_name": "iPhone",
        "source_url": "",
        "t1_source": 1,
        "t1_subtype": 2,
        "t1_termtype": 3,
        "tid": "d269440038426e5ef37c0200",
        "ugc_right": 1,
        "uin": 4483538,
        "wbid": 0
    },
    {
        "certified": 0,
        "cmtnum": 0,
        "commentlist": null,
        "conlist": [{
            "con": "高中时迟到必须罚唱一首歌,为了唱这首歌给那个女孩听,我故意迟到过\n—――网易云热评《一生有你》",
            "type": 2
        }],
        "content": "高中时迟到必须罚唱一首歌,为了唱这首歌给那个女孩听,我故意迟到过\n—――网易云热评《一生有你》",
        "createTime": "昨天21:56",
        "created_time": 1584280587,
        "editMask": 4294967294,
        "fwdnum": 0,
        "has_more_con": 0,
        "isEditable": 1,
        "issigin": 0,
        "lbs": {
            "id": "",
            "idname": "",
            "name": "",
            "pos_x": "",
            "pos_y": ""
        },
        "name": "@网易云热评墙",
        "pic_template": "",
        "right": 1,
        "rt_sum": 0,
        "secret": 0,
        "source_appid": "",
        "source_name": "iPhone",
        "source_url": "",
        "t1_source": 1,
        "t1_subtype": 2,
        "t1_termtype": 3,
        "tid": "d2694400ec336e5e82380700",
        "ugc_right": 1,
        "uin": 4483538,
        "wbid": 0
    },
    {
        "certified": 0,
        "cmtnum": 0,
        "commentlist": null,
        "conlist": [{
            "con": "就算你躺在沙发上三天不起、不拉开窗帘,因为决定不了穿哪双袜子哭个没完,我也不会停止爱你。没有什么大不了的。这个地球上有75亿人,就有75亿种正常。\n---网易云热评《好想爱这个世界阿》",
            "type": 2
        }],
        "content": "就算你躺在沙发上三天不起、不拉开窗帘,因为决定不了穿哪双袜子哭个没完,我也不会停止爱你。没有什么大不了的。这个地球上有75亿人,就有75亿种正常。\n---网易云热评《好想爱这个世界阿》",
        "createTime": "昨天19:51",
        "created_time": 1584273096,
        "editMask": 4294967294,
        "fwdnum": 3,
        "has_more_con": 0,
        "isEditable": 1,
        "issigin": 0,
        "lbs": {
            "id": "",
            "idname": "",
            "name": "",
            "pos_x": "",
            "pos_y": ""
        },
        "name": "@网易云热评墙",
        "pic_template": "",
        "right": 1,
        "rt_sum": 4,
        "secret": 0,
        "source_appid": "",
        "source_name": "iPhone",
        "source_url": "",
        "t1_source": 1,
        "t1_subtype": 2,
        "t1_termtype": 3,
        "tid": "d2694400c8166e5e9f340f00",
        "ugc_right": 1,
        "uin": 4483538,
        "wbid": 0
    },
    {
        "certified": 0,
        "cmtnum": 0,
        "commentlist": null,
        "conlist": [{
            "con": "真的很想回到当初聊天你秒回我的时候,每天早上晚上互道安好的时候,你现在回复的特别慢,回复都是几个字,可能是我说得有点多,又或者我有点烦,又再或者我高估了在你心里的位置,爱是不是不开口才珍贵。\n—— 网易云热评《男孩》 ​​​",
            "type": 2
        }],
        "content": "真的很想回到当初聊天你秒回我的时候,每天早上晚上互道安好的时候,你现在回复的特别慢,回复都是几个字,可能是我说得有点多,又或者我有点烦,又再或者我高估了在你心里的位置,爱是不是不开口才珍贵。\n—— 网易云热评《男孩》 ​​​",
        "createTime": "前天23:25",
        "created_time": 1584199518,
        "editMask": 4294967294,
        "fwdnum": 0,
        "has_more_con": 0,
        "isEditable": 1,
        "issigin": 0,
        "lbs": {
            "id": "",
            "idname": "",
            "name": "",
            "pos_x": "",
            "pos_y": ""
        },
        "name": "@网易云热评墙",
        "pic_template": "",
        "right": 1,
        "rt_sum": 6,
        "secret": 0,
        "source_appid": "",
        "source_name": "iPhone XS Max",
        "source_url": "",
        "t1_source": 1,
        "t1_subtype": 2,
        "t1_termtype": 3,
        "tid": "d269440047f76c5ebc3c0300",
        "ugc_right": 1,
        "uin": 4483538,
        "wbid": 0
    },
    {
        "certified": 0,
        "cmtnum": 0,
        "commentlist": null,
        "conlist": [{
            "con": "我们最后选择的是跟自己的悲伤和解,而不是忘却。因为那曾经使我悲伤过的一切,也是我最热爱的一切。\n——《奇葩说》詹青云 ​​​",
            "type": 2
        }],
        "content": "我们最后选择的是跟自己的悲伤和解,而不是忘却。因为那曾经使我悲伤过的一切,也是我最热爱的一切。\n——《奇葩说》詹青云 ​​​",
        "createTime": "前天21:24",
        "created_time": 1584192240,
        "editMask": 4294967294,
        "fwdnum": 3,
        "has_more_con": 0,
        "isEditable": 1,
        "issigin": 0,
        "lbs": {
            "id": "",
            "idname": "",
            "name": "",
            "pos_x": "",
            "pos_y": ""
        },
        "name": "@网易云热评墙",
        "pic_template": "",
        "right": 1,
        "rt_sum": 14,
        "secret": 0,
        "source_appid": "",
        "source_name": "iPhone XS Max",
        "source_url": "",
        "t1_source": 1,
        "t1_subtype": 2,
        "t1_termtype": 3,
        "tid": "d2694400ebda6c5e37600700",
        "ugc_right": 1,
        "uin": 4483538,
        "wbid": 0
    },
    {
        "certified": 0,
        "cmtnum": 0,
        "commentlist": null,
        "conlist": [{
            "con": "\u0022风吹过西伯利亚的麦田,也吹过阿拉斯加的冰原。 风吹过最远的海,也吹过最高的山。 风吹过他的发梢,也吹过你的窗帘。 因为风的缘故,这个世界成为合一的存在。\u0022\n——网易云热评《起风了》",
            "type": 2
        }],
        "content": "\u0022风吹过西伯利亚的麦田,也吹过阿拉斯加的冰原。 风吹过最远的海,也吹过最高的山。 风吹过他的发梢,也吹过你的窗帘。 因为风的缘故,这个世界成为合一的存在。\u0022\n——网易云热评《起风了》",
        "createTime": "前天19:24",
        "created_time": 1584185059,
        "editMask": 4294967294,
        "fwdnum": 2,
        "has_more_con": 0,
        "isEditable": 1,
        "issigin": 0,
        "lbs": {
            "id": "",
            "idname": "",
            "name": "",
            "pos_x": "",
            "pos_y": ""
        },
        "name": "@网易云热评墙",
        "pic_template": "",
        "right": 1,
        "rt_sum": 5,
        "secret": 0,
        "source_appid": "",
        "source_name": "iPhone XS Max",
        "source_url": "",
        "t1_source": 1,
        "t1_subtype": 2,
        "t1_termtype": 3,
        "tid": "d2694400cbbe6c5e506e0900",
        "ugc_right": 1,
        "uin": 4483538,
        "wbid": 0
    },
    {
        "certified": 0,
        "cmtnum": 0,
        "commentlist": null,
        "conlist": [{
            "con": "写你名字可真难,倒不是笔画繁琐,只是写你名字时得蘸上四分春风,三分月色,两分微醺,还有一分你的眉眼才好。”\n———网易云热评《喜欢》",
            "type": 2
        }],
        "content": "写你名字可真难,倒不是笔画繁琐,只是写你名字时得蘸上四分春风,三分月色,两分微醺,还有一分你的眉眼才好。”\n———网易云热评《喜欢》",
        "createTime": "前天17:24",
        "created_time": 1584177848,
        "editMask": 4294967294,
        "fwdnum": 5,
        "has_more_con": 0,
        "isEditable": 1,
        "issigin": 0,
        "lbs": {
            "id": "",
            "idname": "",
            "name": "",
            "pos_x": "",
            "pos_y": ""
        },
        "name": "@网易云热评墙",
        "pic_template": "",
        "right": 1,
        "rt_sum": 4,
        "secret": 0,
        "source_appid": "",
        "source_name": "iPhone XS Max",
        "source_url": "",
        "t1_source": 1,
        "t1_subtype": 2,
        "t1_termtype": 3,
        "tid": "d2694400aca26c5e9cd10200",
        "ugc_right": 1,
        "uin": 4483538,
        "wbid": 0
    },
    {
        "certified": 0,
        "cmtnum": 0,
        "commentlist": null,
        "conlist": [{
            "con": "我余光中都是你。\n ――余光中",
            "type": 2
        }],
        "content": "我余光中都是你。\n ――余光中",
        "createTime": "前天15:24",
        "created_time": 1584170667,
        "editMask": 4294967294,
        "fwdnum": 2,
        "has_more_con": 0,
        "isEditable": 1,
        "issigin": 0,
        "lbs": {
            "id": "",
            "idname": "",
            "name": "",
            "pos_x": "",
            "pos_y": ""
        },
        "name": "@网易云热评墙",
        "pic_template": "",
        "right": 1,
        "rt_sum": 3,
        "secret": 0,
        "source_appid": "",
        "source_name": "iPhone XS Max",
        "source_url": "",
        "t1_source": 1,
        "t1_subtype": 2,
        "t1_termtype": 3,
        "tid": "d26944008c866c5e50630100",
        "ugc_right": 1,
        "uin": 4483538,
        "wbid": 0
    },
    {
        "certified": 0,
        "cmtnum": 0,
        "commentlist": null,
        "conlist": [{
            "con": "如何优雅地说我喜欢你?\n“太极生两仪,\n两仪生四象,\n四象生八卦,\n八卦衍万物”\n然后呢\n“万物不如你”。\n——网易云热评《梅坞寻茶》",
            "type": 2
        }],
        "content": "如何优雅地说我喜欢你?\n“太极生两仪,\n两仪生四象,\n四象生八卦,\n八卦衍万物”\n然后呢\n“万物不如你”。\n——网易云热评《梅坞寻茶》",
        "createTime": "前天12:24",
        "created_time": 1584159855,
        "editMask": 4294967294,
        "fwdnum": 3,
        "has_more_con": 0,
        "isEditable": 1,
        "issigin": 0,
        "lbs": {
            "id": "",
            "idname": "",
            "name": "",
            "pos_x": "",
            "pos_y": ""
        },
        "name": "@网易云热评墙",
        "pic_template": "",
        "right": 1,
        "rt_sum": 4,
        "secret": 0,
        "source_appid": "",
        "source_name": "iPhone XS Max",
        "source_url": "",
        "t1_source": 1,
        "t1_subtype": 2,
        "t1_termtype": 3,
        "tid": "d26944005b5c6c5e4e410f00",
        "ugc_right": 1,
        "uin": 4483538,
        "wbid": 0
    },
    {
        "certified": 0,
        "cmtnum": 0,
        "commentlist": null,
        "conlist": [{
            "con": "他对你只有那么一丝丝的感觉\n可你却因为这仅仅的好感\n就把他看的那么值得\n最后 还不是以告别落终",
            "type": 2
        }],
        "content": "他对你只有那么一丝丝的感觉\n可你却因为这仅仅的好感\n就把他看的那么值得\n最后 还不是以告别落终",
        "createTime": "前天10:23",
        "created_time": 1584152582,
        "editMask": 4294967294,
        "fwdnum": 2,
        "has_more_con": 0,
        "isEditable": 1,
        "issigin": 0,
        "lbs": {
            "id": "",
            "idname": "",
            "name": "",
            "pos_x": "",
            "pos_y": ""
        },
        "name": "@网易云热评墙",
        "pic_template": "",
        "right": 1,
        "rt_sum": 1,
        "secret": 0,
        "source_appid": "",
        "source_name": "iPhone XS Max",
        "source_url": "",
        "t1_source": 1,
        "t1_subtype": 2,
        "t1_termtype": 3,
        "tid": "d2694400ff3f6c5ea37d0900",
        "ugc_right": 1,
        "uin": 4483538,
        "wbid": 0
    },
    {
        "certified": 0,
        "cmtnum": 0,
        "commentlist": null,
        "conlist": [{
            "con": "我其实只想和你在一起一次 哪怕只有61秒 25小时 13个月。\n——网易云热评《其实》",
            "type": 2
        }],
        "content": "我其实只想和你在一起一次 哪怕只有61秒 25小时 13个月。\n——网易云热评《其实》",
        "createTime": "前天08:23",
        "created_time": 1584145400,
        "editMask": 4294967294,
        "fwdnum": 1,
        "has_more_con": 0,
        "isEditable": 1,
        "issigin": 0,
        "lbs": {
            "id": "",
            "idname": "",
            "name": "",
            "pos_x": "",
            "pos_y": ""
        },
        "name": "@网易云热评墙",
        "pic_template": "",
        "right": 1,
        "rt_sum": 0,
        "secret": 0,
        "source_appid": "",
        "source_name": "iPhone XS Max",
        "source_url": "",
        "t1_source": 1,
        "t1_subtype": 2,
        "t1_termtype": 3,
        "tid": "d2694400df236c5e00270900",
        "ugc_right": 1,
        "uin": 4483538,
        "wbid": 0
    },
    {
        "certified": 0,
        "cmtnum": 0,
        "commentlist": null,
        "conlist": [{
            "con": "如果我爱你,而你也正巧爱我。你头发乱了的时候,我会笑笑,替你拨一拨,然后,手还留恋地在你发上多待几秒。但是,如果我爱你,而你不巧地不爱我。你头发乱了,我只会轻轻地告诉你,你头发乱了喔。\n——网易云热评《词不达意》",
            "type": 2
        }],
        "content": "如果我爱你,而你也正巧爱我。你头发乱了的时候,我会笑笑,替你拨一拨,然后,手还留恋地在你发上多待几秒。但是,如果我爱你,而你不巧地不爱我。你头发乱了,我只会轻轻地告诉你,你头发乱了喔。\n——网易云热评《词不达意》",
        "createTime": "前天06:23",
        "created_time": 1584138183,
        "editMask": 4294967294,
        "fwdnum": 4,
        "has_more_con": 0,
        "isEditable": 1,
        "issigin": 0,
        "lbs": {
            "id": "",
            "idname": "",
            "name": "",
            "pos_x": "",
            "pos_y": ""
        },
        "name": "@网易云热评墙",
        "pic_template": "",
        "right": 1,
        "rt_sum": 2,
        "secret": 0,
        "source_appid": "",
        "source_name": "iPhone XS Max",
        "source_url": "",
        "t1_source": 1,
        "t1_subtype": 2,
        "t1_termtype": 3,
        "tid": "d2694400c0076c5eb2920400",
        "ugc_right": 1,
        "uin": 4483538,
        "wbid": 0
    },
    {
        "certified": 0,
        "cmtnum": 0,
        "commentlist": null,
        "conlist": [{
            "con": "有时你自己可能都没察觉\n在你经历一些事或遇到某个人后\n你就像换了一种性格\n悄悄地告别了从前的自己\n———网易云热评《Near Light》",
            "type": 2
        }],
        "content": "有时你自己可能都没察觉\n在你经历一些事或遇到某个人后\n你就像换了一种性格\n悄悄地告别了从前的自己\n———网易云热评《Near Light》",
        "createTime": "2020年03月12日",
        "created_time": 1584027072,
        "editMask": 4294967294,
        "fwdnum": 5,
        "has_more_con": 0,
        "isEditable": 1,
        "issigin": 0,
        "lbs": {
            "id": "",
            "idname": "",
            "name": "",
            "pos_x": "",
            "pos_y": ""
        },
        "name": "@网易云热评墙",
        "pic_template": "",
        "right": 1,
        "rt_sum": 8,
        "secret": 0,
        "source_appid": "",
        "source_name": "iPhone XS Max",
        "source_url": "",
        "t1_source": 1,
        "t1_subtype": 2,
        "t1_termtype": 3,
        "tid": "d2694400af556a5e5d390800",
        "ugc_right": 1,
        "uin": 4483538,
        "wbid": 0
    },
    {
        "certified": 0,
        "cmtnum": 0,
        "commentlist": null,
        "conlist": [{
            "con": "男生如果长大了还哭,那一定是失去了特别特别重要的东西。\n———网易云热评《遥远的你》",
            "type": 2
        }],
        "content": "男生如果长大了还哭,那一定是失去了特别特别重要的东西。\n———网易云热评《遥远的你》",
        "createTime": "2020年03月12日",
        "created_time": 1584020902,
        "editMask": 4294967294,
        "fwdnum": 4,
        "has_more_con": 0,
        "isEditable": 1,
        "issigin": 0,
        "lbs": {
            "id": "",
            "idname": "",
            "name": "",
            "pos_x": "",
            "pos_y": ""
        },
        "name": "@网易云热评墙",
        "pic_template": "",
        "right": 1,
        "rt_sum": 7,
        "secret": 0,
        "source_appid": "",
        "source_name": "iPhone XS Max",
        "source_url": "",
        "t1_source": 1,
        "t1_subtype": 2,
        "t1_termtype": 3,
        "tid": "d26944008b3d6a5e8ce40700",
        "ugc_right": 1,
        "uin": 4483538,
        "wbid": 0
    },
    {
        "certified": 0,
        "cmtnum": 0,
        "commentlist": null,
        "conlist": [{
            "con": "我坚持不和你说话,不表示我没有想你。\n试着疏远你,因为我知道我不能拥有你。\n———网易云热评《我也不想这样》",
            "type": 2
        }],
        "content": "我坚持不和你说话,不表示我没有想你。\n试着疏远你,因为我知道我不能拥有你。\n———网易云热评《我也不想这样》",
        "createTime": "2020年03月12日",
        "created_time": 1584010089,
        "editMask": 4294967294,
        "fwdnum": 1,
        "has_more_con": 0,
        "isEditable": 1,
        "issigin": 0,
        "lbs": {
            "id": "",
            "idname": "",
            "name": "",
            "pos_x": "",
            "pos_y": ""
        },
        "name": "@网易云热评墙",
        "pic_template": "",
        "right": 1,
        "rt_sum": 8,
        "secret": 0,
        "source_appid": "",
        "source_name": "iPhone XS Max",
        "source_url": "",
        "t1_source": 1,
        "t1_subtype": 2,
        "t1_termtype": 3,
        "tid": "d26944005b136a5e90a60800",
        "ugc_right": 1,
        "uin": 4483538,
        "wbid": 0
    },
    {
        "certified": 0,
        "cmtnum": 0,
        "commentlist": null,
        "conlist": [{
            "con": "我自己都不了解我自己\n所以把你那套看人的标准收回去吧\n老子做人真的是\n全看心情\n———网易云热评《笑》",
            "type": 2
        }],
        "content": "我自己都不了解我自己\n所以把你那套看人的标准收回去吧\n老子做人真的是\n全看心情\n———网易云热评《笑》",
        "createTime": "2020年03月12日",
        "created_time": 1583999306,
        "editMask": 4294967294,
        "fwdnum": 2,
        "has_more_con": 0,
        "isEditable": 1,
        "issigin": 0,
        "lbs": {
            "id": "",
            "idname": "",
            "name": "",
            "pos_x": "",
            "pos_y": ""
        },
        "name": "@网易云热评墙",
        "pic_template": "",
        "right": 1,
        "rt_sum": 6,
        "secret": 0,
        "source_appid": "",
        "source_name": "iPhone XS Max",
        "source_url": "",
        "t1_source": 1,
        "t1_subtype": 2,
        "t1_termtype": 3,
        "tid": "d26944002be9695ec4920d00",
        "ugc_right": 1,
        "uin": 4483538,
        "wbid": 0
    }],
    "name": "lunatic",
    "num": 20,
    "right": 1,
    "smoothpolicy": {
        "comsw.disable_soso_search": 0,
        "l1sw.read_first_cache_only": 0,
        "l2sw.dont_get_reply_cmt": 0,
        "l2sw.mixsvr_frdnum_per_time": 50,
        "l3sw.hide_reply_cmt": 0,
        "l4sw.read_tdb_only": 0,
        "l5sw.read_cache_only": 0
    },
    "subcode": 0,
    "timertotal": 8072,
    "total": 22118,
    "usrinfo": {
        "concern": 0,
        "createTime": "",
        "fans": 0,
        "followed": 0,
        "msg": "",
        "msgnum": 22118,
        "name": "@网易云热评墙",
        "uin": 4483538
    }
});

数据来源:进入个人首页 -> 说说

4. 说说的HTML格式展示 feeds_html_act_all

https://user.qzone.qq.com/proxy/domain/ic2.qzone.qq.com/cgi-bin/feeds/feeds_html_act_all?uin=275176629&hostuin=4483538&scope=0&filter=all&flag=1&refresh=0&firstGetGroup=0&mixnocache=0&scene=0&begintime=undefined&icServerTime=&start=10&count=10&sidomain=qzonestyle.gtimg.cn&useutf8=1&outputhtmlfeed=1&refer=2&r=0.2942898435701613&g_tk=223477660&qzonetoken=2288dbd40f0281027fa09e41caa49b8c01a461492b4a0ebcef3fd4433bbb11b5130f105a791bf44dce&g_tk=223477660

请求报文:j

uin: 27517662
hostuin: 4483538
scope: 0
filter: all
flag: 1
refresh: 0
firstGetGroup: 0
mixnocache: 0
scene: 0
begintime: undefined
icServerTime: 
start: 10
count: 10
sidomain: qzonestyle.gtimg.cn
useutf8: 1
outputhtmlfeed: 1
refer: 2
r: 0.2942898435701613
g_tk: 223477660
qzonetoken: 2288dbd40f0281027fa09e41caa49b8c01a461492b4a0ebcef3fd4433bbb11b5130f105a791bf44dce
g_tk: 223477660

消息格式:

Callback({
    code: 0,
    subcode: 0,
    message: "",
default:
    0,
    data: {,
        …
    }
});
code: 0 data: {,
    …
}
about_data: [undefined] firstpage_data: [undefined] 0 : undefined friend_data: [{
    ver: "1",
    appid: "311",
    typeid: "0",
    key: "d2694400cbbe6c5e506e0900",
    flag: "0",
    dataonly: "0",
    …
},
…] 0 : {
    ver: "1",
    appid: "311",
    typeid: "0",
    key: "d2694400cbbe6c5e506e0900",
    flag: "0",
    dataonly: "0",
    …
}
abstime: "1584185059"appiconid: "311"appid: "311"bitmap: "08009c8804104001"bor: ""clscFold: "icenter_list_extend"dataonly: "0"feedno: "0"feedstime: "前天 19:24"flag: "0"foldFeed: ""foldFeedTitle: ""hideExtend: ""html: "                                                                                                                                               <li class="f - single f - s - s " id="fct_4483538_311_0_1584185059_0_1 "><div class="f - single - head f - aside "><div class="f - adorn - top "></div>    <div class="user - pto "><a href="http: //user.qzone.qq.com/4483538" target="_blank" class="user-avatar q_namecard f-s-a" link="nameCard_4483538" data-clicklog="avatar"><img src="https://qlogo3.store.qq.com/qzone/4483538/4483538/50?1564108625"></a></div><div class="user-op"><a href="javascript:;" class="arrow-down" data-cmd="qz_opr_more" data-moreoperate="1"><i class="fui-icon icon-arrow-down"></i></a>        </div><div class="user-info"><div class="f-nick"><a target="_blank" href="http://user.qzone.qq.com/4483538"  data-clicklog="nick" class="f-name q_namecard " link="nameCard_4483538">@网易云热评墙</a>  </div><div class="info-detail"><span  class=" ui-mr8 state" >前天 19:24</span><a href="javascript:;" data-cmd="qz_sign" class="f-sign-show state" title="我也要设置"></a></div></div></div><div class="f-single-content f-wrap"><div class="f-item f-s-i" id="feed_4483538_311_0_1584185059_0_1" data-feedsflag="" data-iswupfeed="1" data-key="d2694400cbbe6c5e506e0900" data-specialtype="" data-extend-info="0_0_1_0_0_0_0|08009c8804104001|0008040000000000" data-functype="" data-hasfollowed="1"><div class="f-info">&quot;风吹过西伯利亚的麦田,也吹过阿拉斯加的冰原。 风吹过最远的海,也吹过最高的山。 风吹过他的发梢,也吹过你的窗帘。 因为风的缘故,这个世界成为合一的存在。&quot;<br/>——网易云热评《起风了》</div><div class="qz_summary wupfeed" id="hex_4483538_311_0_1584185059_0_1"><i class="none" name="feed_data"  data-bitmap="08009c8804104001" data-yybitmap="0008040000000000" data-vipstarbitmap="1900000160000000" data-fkey="d2694400cbbe6c5e506e0900" data-tid="d2694400cbbe6c5e506e0900" data-uin="4483538" data-origfkey="" data-origtid="d2694400cbbe6c5e506e0900" data-origuin="4483538" data-subid="" data-totweet="" data-issignin="" data-source="" data-retweetcount="6" data-stat="9EKQtOgTdXgtYirVgM0wIOxLVqM8IvWZxDzW5tJUC17VlV8ZFqVfgmBnnmndMT/amsKLfCIxHEW/Vca9RCcvVUpuylZE4wzo7dGKoh1NT8vddc9uBCIUquEnAnoHA21VEusO4go0cEddDIvigPYJF6MUjK1LGCyv1uNphDipCrqrpkmly9hefiz31RE/KW52_"   data-topicid="4483538_d2694400cbbe6c5e506e0900__1"    data-feedstype="100"  data-abstime="1584185059"   data-iswupfeed="1"  data-platformid="52"  data-accessright="1"></i><div class="f-reprint">        <p class="item">        <i class="fui-icon icon-print-phone"></i><span class="ui-mr8 state">来自&nbsp;<a href="http://z.qzone.com?from=iphonegrzxpl" target="_blank"  class=" phone-style state">iPhone XS Max</a>&nbsp;</span>        </p>                            </div>    </div></div></div><div class="f-single-foot"><div class="f-op-detail f-detail "><p class="op-list"><a class="item qz_retweet_btn " href="javascript:;" data-cmd="qz_popup" data-version="4" data-isnewtype="1" data-type="ForwardingBox" data-src="/qzone/app/controls/forwardingBox/forwardingBoxFacade.js" data-clicklog="retweet" ><i class="fui-icon icon-op-share"></i></a><span class="item-line"></span>&nbsp;<a href="javascript:;" data-version="6.3" data-cmd="qz_reply" data-link="1" data-clicklog="comment"  class=" qz_btn_reply item "><i class="fui-icon icon-op-comment"></i></a>&nbsp;<span class="item-line"></span><a class="item qz_like_btn_v3 " data-islike="0" data-likecnt="805" data-showcount="0" data-unikey="http://user.qzone.qq.com/4483538/mood/d2694400cbbe6c5e506e0900" data-curkey="http://user.qzone.qq.com/4483538/mood/d2694400cbbe6c5e506e0900" data-clicklog="like" href="javascript:;"><i class="fui-icon icon-op-praise"></i></a></p><a href="javascript:;" class="state qz_feed_plugin" data-role="Visitor" data-config="311|d2694400cbbe6c5e506e0900|4483538" data-clicklog="visitor">浏览11538次</a></div>        <div class="f-like-list f-like _likeInfo" likeinfo="805"><div class="icon-btn"><a href="javascript:;" data-islike="0" data-likecnt="805" data-showcount="805" data-unikey="http://user.qzone.qq.com/4483538/mood/d2694400cbbe6c5e506e0900" data-curkey="http://user.qzone.qq.com/4483538/mood/d2694400cbbe6c5e506e0900" data-clicklog="like" class="praise qz_like_prase"><i class="fui-icon icon-list-praise"></i></a><div class="bubble" style="display:none;"><div class="bd">+1</div><b class="arrow arrow-down"></b></div></div><div class="user-list"><span class="f-like-cnt">805人觉得很赞</span></div></div><div class="mod-comments" style="padding:0"><div class="mod-commnets-poster feedClickCmd comment_default_inputentry" data-cmd="qz_reply" data-version="6" data-action="http://taotao.qq.com/cgi-bin/emotion_cgi_re_feeds" data-param="t1_source=&amp;t1_uin=4483538&amp;t1_tid=d2694400cbbe6c5e506e0900&amp;signin=0&amp;sceneid=100" data-charset="utf-8" data-maxLength="" data-tuin="4483538" data-config="1|1|1|1,b52,with_fwd,同时转发;0|1,taotaoact.qzone.qq.com,@InputReply|1,taotaoact.qzone.qq.com,@ClickReply|1,taotaoact.qzone.qq.com,commentPresentClick"  data-tid="" ><div class="comments-poster-bd comments-poster-default"><div class="comments-box" data-clicklog="comment"><div class="textinput textinput-default bor2" contenteditable="true" alt="replybtn" placeholder="评论"><a class="c_tx3" href="javascript:void(0);" alt="replybtn">评论</a></div><div class="mod-insert-img"><a href="javascript:;" data-cmd="qz_quick_upload_img" class="btn-insert-img bg"><i class="icon-camera-16"></i></a></div></div></div></div></div>    </div></li>"
info_user_display: ""info_user_name: ""key: "d2694400cbbe6c5e506e0900"lastFeedBor: ""list_bor2: ""logimg: "http://qlogo3.store.qq.com/qzone/4483538/4483538/50?1564108625"moreflag: ""namecardLink: "nameCard_4483538"nickname: "@网易云热评墙"oprType: "0"opuin: "4483538"otherflag: "0_0_1_0_0_0_0"ouin: ""remark: ""sameuser: {}
scope: "0"showEbtn: ""summary: ""title: ""type: ""typeid: "0"uin: "4483538"uper_isfriend: [] uperlist: [] upernum: ""userHome: "http://user.qzone.qq.com/4483538"ver: "1"vip: "novip"yybitmap: "0008040000000000"1 : {
    ver: "1",
    appid: "311",
    typeid: "0",
    key: "d2694400aca26c5e9cd10200",
    flag: "0",
    dataonly: "0",
    …
}
2 : {
    ver: "1",
    appid: "311",
    typeid: "0",
    key: "d26944008c866c5e50630100",
    flag: "0",
    dataonly: "0",
    …
}
3 : {
    ver: "1",
    appid: "311",
    typeid: "0",
    key: "d26944005b5c6c5e4e410f00",
    flag: "0",
    dataonly: "0",
    …
}
4 : {
    ver: "1",
    appid: "311",
    typeid: "0",
    key: "d2694400ff3f6c5ea37d0900",
    flag: "0",
    dataonly: "0",
    …
}
5 : {
    ver: "1",
    appid: "311",
    typeid: "0",
    key: "d2694400df236c5e00270900",
    flag: "0",
    dataonly: "0",
    …
}
6 : {
    ver: "1",
    appid: "311",
    typeid: "0",
    key: "d2694400c0076c5eb2920400",
    flag: "0",
    dataonly: "0",
    …
}
7 : {
    ver: "1",
    appid: "311",
    typeid: "0",
    key: "d2694400af556a5e5d390800",
    flag: "0",
    dataonly: "0",
    …
}
8 : {
    ver: "1",
    appid: "311",
    typeid: "0",
    key: "d26944008b3d6a5e8ce40700",
    flag: "0",
    dataonly: "0",
    …
}
9 : {
    ver: "1",
    appid: "311",
    typeid: "0",
    key: "d26944005b136a5e90a60800",
    flag: "0",
    dataonly: "0",
    …
}
10 : undefined host_data: [undefined] main: {
    needFold: "",
    icServerTime: "",
    icView: "",
    daylist: "",
    uinlist: "",
    hasMoreFeeds_0: true,
    …
}
default:
    0 message:
    ""subcode:
    0

5. 单条说说页面及数据提取

可以用于点赞或者评论提取等。
API:

好友相关的 API

抓取好友列表,以及好友的动态信息就。

获取好友列表

来源:QQ空间,分享到好友列表/群。
APIhttps://user.qzone.qq.com/proxy/domain/r.qzone.qq.com/cgi-bin/tfriend/friend_mngfrd_get.cgi?
需要Cookie:是
参数

_payload{
    uin: 275176629
    fupdate: 1
    // scene 参数:应用场景
    // 1 - 获取 QQ 好友实际用户分组,和QQ里看到的组别是一样的。
    // 21 - 只获取好友列表和昵称
    scene: 21
    g_tk: 1187391538
    qzonetoken: 9f41f19ad39a0fcbb541466439227532560e49233164aafb8933930d3d687aae571c12e9f8963aef81c6
    g_tk: 1187391538
}

获取好友说说(HTML格式)

用这个API可以获取html格式的说说,用于预览显示之用。使用ascii escape格式,需要手动代码转化编码。
如果对方未开放空间权限,则会返回 Invaild Right 的消息。
其他参数正确的前提下,直接更换 hostuin 可以访问不同用户的数据。

来源:好友 QQ 空间首页,抓取后台xhr数据。
https://user.qzone.qq.com/■■■■■■■■
APIhttps://user.qzone.qq.com/proxy/domain/ic2.qzone.qq.com/cgi-bin/feeds/feeds_html_act_all?uin=■■■■■■■■&hostuin=■■■■■■■■4&scope=0&filter=all&flag=1&refresh=0&firstGetGroup=0&mixnocache=0&scene=0&begintime=undefined&icServerTime=&start=10&count=10&sidomain=qzonestyle.gtimg.cn&useutf8=1&outputhtmlfeed=1&refer=2&r=0.724668591109972&g_tk=245479846&qzonetoken=25105477cf5e45db75157ccacd852d6020dc379ce80b4bd004f10499ae88bc2c2ef5f4208a3cdee4&g_tk=245479846
参数

{
    // 访客用户名
    uin: ■■■■■■
    // 目标用户名
    hostuin: ■■■■■■
    scope: 0
    filter: all
    flag: 1
    refresh: 0
    firstGetGroup: 0
    mixnocache: 0
    scene: 0
    begintime: undefined
    icServerTime: 
    start: 10
    count: 10
    sidomain: qzonestyle.gtimg.cn
    useutf8: 1
    outputhtmlfeed: 1
    refer: 2
    r: 0.724668591109972
    g_tk: 245479846
    qzonetoken: 25105477cf5e45db75157ccacd852d6020dc379ce80b4bd004f10499ae88bc2c2ef5f4208a3cdee4
    g_tk: 245479846
}

获取好友说说(js缩简格式)

APIhttps://user.qzone.qq.com/proxy/domain/taotao.qq.com/cgi-bin/emotion_cgi_msglist_v6?

参数列表

{
    uin: 3202xxxx
    ftype: 0
    sort: 0
    pos: 0
    num: 20
    replynum: 100
    callback: _preloadCallback
    code_version: 1
    format: jsonp
    need_private_comment: 1
    qzonetoken: e727e2174faccf5d2fa5866ad798652e5297dc5931c6a0a61f87c5d43aa2eaba1bac20a9738525af
    g_tk: 1289413842
}

杂项

一些工具API,获取QQ签名,头像,资料等内容。

QQ空间头像

最后的参数决定了图像大小,可选值:

  • 50 50*50 像素
  • 100 100*100 像素
  • 200 100*100 像素

需要Cookie:否

https://qlogo1.store.qq.com/qzone/4483538/4483538/200?1564108625

https://qlogo2.store.qq.com/qzone/4483538/4483538/200?1564108625

https://qlogo3.store.qq.com/qzone/4483538/4483538/200?1564108625

https://qlogo4.store.qq.com/qzone/4483538/4483538/200?1564108625

QQ头像

API:`****“http://q2.qlogo.cn/headimg_dl?bs=qq&dst_uin=51550&src_uin=51550&fid=51550&spec=5&url_enc=0&referer=bu_interface

spec参数

  • 1: 40*40
  • 2: 40*40
  • 3: 100*100
  • 4: 140*140
  • 5: 430*429
  • 160: 140*140

参数

{
    bs: qq
    dst_uin: 1944404463
    spec: 160
    src_uin: 51550
    fid: 51550
    url_enc: 0
    referer: bu_interface
}

空间侧边栏

https://user.qzone.qq.com/275176629/infocenter?qz_referrer=special&uin=53702270&msg_id=110374
消息格式:

_Callback( {code: 0, subcode: 0, message: "", default: 0,…} )
code: 0
data: {module_3: {code: 0, subcode: 0, message: "", default: 0, data: {Ishost: 1,…}},…}
module_3: {code: 0, subcode: 0, message: "", default: 0, data: {Ishost: 1,…}}
code: 0
data: {Ishost: 1,…}
Ishost: 1
items: [{uin: .., name: "...", online: 0, yellow: -1, isolate: 1, supervip: 0, superstarvip: 0,…},…]
[099]
0: {uin: ..., name: "...", online: 0, yellow: -1, isolate: 1, supervip: 0, superstarvip: 0,…}
flag: 0
hide_from: 0
img: "http://qlogo3.store.qq.com/qzone/.../.../50"
isolate: 1
mod: 0
name: "..."
online: 0
platform_src: 0
service_src: 13
src: 13
starlevel: 0
starvip: 0
staryear: 0
superstarvip: 0
supervip: 0
time: 1584076348
uin: ...
yellow: -1
1: {uin: ..., name: "...", online: 0, yellow: -1, isolate: 1, supervip: 0, superstarvip: 0,…}
[100199]
[200216]
lastgettime: 1584333356
modvisitcount: [{mod: 0, todaycount: 0, totalcount: 13990}, {mod: 8, twlogincount: 0, todaycount: 0, totalcount: 153}]
twlogincount: 0
default: 0
message: ""
subcode: 0
module_8: {code: 0, subcode: 0, message: "", default: 0,…}
code: 0
data: {annual: 0, bitmap: "0000000000000000000000000000000000000000000000000000000000000000", charm: 1988,…}
annual: 0
bitmap: "0000000000000000000000000000000000000000000000000000000000000000"
charm: 1988
charmpercent: 27
edge: 0
endcharm: 3000
expiredate: "2020-03-23 00:04:28"
imgsrc_guin: ""
imgsrc_uin: ""
leftday: 26
level: 4
nfoverday: "null"
now: 1584333604
order: 0
overday: "7"
pay_20077: 0
paytips: 0
qbaccount: 0
qbossadv: null
recoverscores: 0
reminder_type: 1
speed: 40
startcharm: 1600
superexpire: "2019-10-20 09:31:11"
superoverday: "-148"
tips: 0
uin: ...
vip: 1
default: 0
message: ""
subcode: 0
module_9: {code: 0, subcode: 0, message: "", default: 0,…}
module_10: {code: 0, subcode: 0, message: "", default: 0, data: {recently_add_count: "0", ret: "0"}}
module_12: {code: 0, subcode: 0, message: "", default: 0, data: {ret: "0", weibo_update_count: "0"}}
module_13: {code: 0, subcode: 0, message: "", default: 0, data: {home_like_count: "0", ret: "0"}}
module_14: {code: 0, subcode: 0, message: "", default: 0,…}
module_17: {code: -1, subcode: -10002, message: "", default: 0, data: {}}
module_18: {code: 0, subcode: 0, message: "", default: 0,…}
default: 0
message: ""
subcode: 0

来源:空间首页