【爬虫】QQ空间爬虫简单思路
我们继续尝试爬取QQ空间的好友动态。现在是大数据当道的时代,爬虫工程师也成了一个关键性的抢手职位,你可以不做一个优秀的爬虫工程师,但掌握一门扎实的爬虫编写技能,是可以为你的职业技能加分的。同时
展开全文:读取完整的说说 feed 内容
QQ 空间说说常见如图所示的展开全文选项,那么怎样实现一次性爬取完整说说内容呢?
单条说说的html层级结构:
- 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-item f-s-i
- div > f-single-foot
- li > f-single f-s-s
- ul > [data-page=‘6’]
读取完整 Feed 内容,这里可以使用 浏览器调试工具中的 Elements -> Event Listener
可以读取并定位 js 调用堆栈,达到监视 js 运行的目的。
我们追踪一次看看:
发现其中在777行:
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
_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
_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
请求报文: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">"风吹过西伯利亚的麦田,也吹过阿拉斯加的冰原。 风吹过最远的海,也吹过最高的山。 风吹过他的发梢,也吹过你的窗帘。 因为风的缘故,这个世界成为合一的存在。"<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">来自 <a href="http://z.qzone.com?from=iphonegrzxpl" target="_blank" class=" phone-style state">iPhone XS Max</a> </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> <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> <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=&t1_uin=4483538&t1_tid=d2694400cbbe6c5e506e0900&signin=0&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空间,分享到好友列表/群。
API:https://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/■■■■■■■■
API:https://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缩简格式)
API:https://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头像
spec参数:
1
: 40*402
: 40*403
: 100*1004
: 140*1405
: 430*429160
: 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,…},…]
[0 … 99]
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,…}
[100 … 199]
[200 … 216]
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
来源:空间首页