pylogin系列之畅言登录评论接口分析

概述

博客使用了畅言做评论系统(多说、网易云跟帖tmd相继挂了...)。
畅言后台可以看出功能非常强大,居然还有广告业务...
but,畅言登录之后,即使你选择了记住登录,也会在每次关闭浏览器后需要重新登录,很累好伐!

折腾了我几天之后,决定还是决定分析一下登录协议,以及简单后台操作接口,然后写个脚本跑着吧,有新评论就给我"叮”一下,就不用我常常登录去翻了!

分析

开始分析,工具:

  1. chrome/firefox
  2. f12,network
  3. python

登录

chrome打开主页http://changyan.kuaizhan.com,F12,调到network的tab页,然后输入登录,找到登录的包。

Request URL:http://changyan.kuaizhan.com/loginAjax?callback=jQuery17107352265034825938_1502508074058&name=xxx&rememberMe=true&password=1111111&vcode=4795&vipIsvId=0&_=1502508184633
Request Method:GET
Status Code:200 OK

Host:changyan.kuaizhan.com
Referer:http://changyan.kuaizhan.com/
User-Agent:Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.109 Safari/537.36
X-Requested-With:XMLHttpRequest

callback:jQuery17107352265034825938_1502508074059 //可以没有
name:xxx
rememberMe:true
password:1111111
vcode:1882
vipIsvId:0
_:1502508368658

//响应
jQuery17101803876020131434_1502867163749({"data":{},"code":0,"msg":"success"}); //发送了callback
{"data":{},"code":0,"msg":"success"}; //没有发送callback

//其他状态
{"code":2,"msg":"验证码错误"}; 
{"code":2,"msg":"用户名或密码错误!"}

很清晰,使用GET,ajax发送数据,主要发送name, password, vcode等数据,经验证callback是可以不需要的,如果发送callback,返回数据会包一层 jQuery17101803876020131434_1502867163749(data), 如果没有callback,直接返回data。

很幸运的是,password没有做任何处理(貌似未强制https,那密码不是明文了...差评!)。没做处理,我倒简单了,不用做多余分析了,登录接口基本就这样。

然后是返回数据,是json数据,成功code是0,错误code是2,然后是具体错误msg。不细说。

验证码

每次登录都需要验证码,挺烦的。为了自动登录,还得拿到验证码。

获取验证码接口如下:

Request URL:http://changyan.kuaizhan.com/verifyCode?_1502508320545
Request Method:GET

Content-Type:image/jpeg; charset=UTF-8

返回一张jpg图片,验证码处理比较简单,应该可以用tesseract-ocr识别,没有验证。

changyan1.png

评论

登录成功后,进入后台。

Request URL:http://changyan.kuaizhan.com/overview
Request Method:GET
Status Code:200 OK
changyan2.png

返回整个后台页面,通过页面元素找到评论位置,html代码如下:

<li class="right-sub-li "><a href="/audit/comments/TOAUDIT/1" style="text-indent:25px;">
    <span class="audit-number">2</span>
    <span style="text-indent:0px;">本站评论审核</span></a></li>

通过r'<span class="audit-number">(\d+?)</span>'正则可以获取到待审核评论数,也就是新增评论,要的就是这个。

评论统计接口

获取评论信息接口,使用的是ajax访问(我这用不上,顺便分析下)。

Request URL:http://changyan.kuaizhan.com/stat-data/comment
Request Method:POST
Status Code:200 OK

Host:changyan.kuaizhan.com
Origin:http://changyan.kuaizhan.com
Referer:http://changyan.kuaizhan.com/overview
User-Agent:Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/59.0.3071.109 Safari/537.36
X-Requested-With:XMLHttpRequest

start:20170805
end:20170811
categoryId:0

//响应
{"sdk_user_data":{},"user_data":{"20170810":1},"sdk_cmt_data":{},"wap_cmt_data":{},"total_data":{"20170810":1,"20170811":0},"recommender_data":{},"wap_user_data":{},"cmt_data":{"20170810":1},"wap_reply_data":{},"flood_data":{"20170810":0,"20170811":0},"sdk_reply_data":{},"success":true}

接口使用ajax POST,发送参数可以选择时间区间。

返回数据为json,具体意义如下:

cmt_data : {20170810: 1} //评论数据1条
flood_data : {20170810: 0, 20170811: 0, 20170812: 0, 20170813: 0, 20170814: 0, 20170815: 0} //每天flooddata多少条
recommender_data : {}
sdk_cmt_data : {}
sdk_reply_data : {}
sdk_user_data : {}
success : true //获取评论信息成功
total_data : {20170810: 1, 20170811: 0, 20170812: 0, 20170813: 0, 20170814: 0, 20170815: 0} // 所有评论数据
user_data : {20170810: 1} //用户数据1条
wap_cmt_data : {} //手机评论数据
wap_reply_data : {}
wap_user_data : {}

对应页面如下:

changyan3.png

总结

畅言登录简单,密码未做处理,安全性有待提高。

接口不统一,评论数据需要正则匹配。

不过为了实现自己的小功能,还是挺简单的!

接口分析完,通过py实现以下接口。自动登录(不识别验证码,需要手动输入),然后每间隔30分钟访问一下后台页面,获取新的评论信息,如果有新的待评审数据,声音或弹窗提醒。

完毕!

安利一下公众号:汉客儿

汉客儿

转载请注明出处,博客原文:https://anhkgg.github.io/pylogin-changyan-login-analyze/

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,761评论 5 460
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,953评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,998评论 0 320
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,248评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 61,130评论 4 356
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,145评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,550评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,236评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,510评论 1 291
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,601评论 2 310
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,376评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,247评论 3 313
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,613评论 3 299
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,911评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,191评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,532评论 2 342
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,739评论 2 335

推荐阅读更多精彩内容