目录
前言
告知:本人所有文章,禁止转载。
大家好,我叫善念。连续更新了8篇原创文章了,可也见不到什么反响。也许是我发的文章内容过于简单,没有什么价值,也许也是有一些运气的成分,不懂得如何去运营。
但我都会坚持下去,万一有一天它就爆发了呢?
这次给大家带来的是一个2500的爬虫外包项目,在这里肯定有人说这个不值这么多,也有人会各种嘲讽。但是别忘了,人的眼界不一样,做事的决定自然会不同。
如果2500能给你带来25000的利润,那么你会选择毫不犹豫的支付吗?话不多说,看聊天记录,
还是挺久以前做的了。(我后面再给大家一一道来,暂时先看咱们的教程。)
分析(x0)
进入目标网站:目标网站
随便进入一个分类,点击进入某直播间
当我们点击弹幕直播框时,它会要求咱们登录账号。这也实属正常,没办法那咱们就登录吧。
登录成功后,咱们抓一下这个发送弹幕的包:
确实尴尬,我不知道发送什么,就说了句您好,没想到小姐姐很惊讶的说您好,您也好......然后说听完一首《飘向北方》就下播了......我不知道他下播了后,我还是否可以发送弹幕。
不管了,我先抽支烟看看小姐姐听完这首歌再接着写。
emmm,roomid为直播间的房间号,content为我发送的内容。
roomid可以在url中看得到的,前面那个图我没截出来,自己看一下就知道了。
t为时间戳,sign签名也是JavaScript加密的。其它值不变,自己发送两次弹幕抓包对比一下就好了。
分析(x1)
有人会奇怪你怎么知道t为时间戳......这玩意还需要说么,还是说一下吧,查找一下t的来源,我觉得向这种短的参数,最好别直接搜t,你会搜出来一大堆的。我建议搜临近的值sign,因为你提交的表单中有这么多的参数,那么在js文件中基本也会有相对应的参数的。
t:i意思是把i赋值给t,而
i = (new Date).getTime()
哦豁,没学过前端的人就看不懂这个是啥意思了,这个其实就是JavaScript语法中的取现行时间。
在我们的鬼鬼js调试工具看看效果:
可以看到是它是一直在变化的,就像咱们的时间一样一直在流逝变化。不懂什么是时间戳的自己去谷歌一下。
或者在咱们的控制台也可以得到它:
既然它是利用JavaScript这么个语法生成的参数,那么我们用Python如何实现?
OK,至此已经解决第一个加密的参数。
分析(x2)
接下来就是大头菜了,咱们分析sign签名是如何得到的: