资讯专栏INFORMATION COLUMN

python模拟登陆知乎(最新版)

myshell / 2966人阅读

摘要:原因为啥要写这一篇文章呢主要是群内有人在模拟登陆知乎,一直不成功然后我抓包看了下,发现知乎登陆页已经改版了,而且难度大大提高了。

原因

为啥要写这一篇文章呢?
(主要是qq群内有人在模拟登陆知乎,一直不成功)然后我抓包看了下,发现知乎登陆页已经改版了,而且难度大大提高了。

开始抓包

首先内,还是打开知乎首页,然后输入账号密码,登陆(记得输错密码)

这样我们就可以看到请求头了(请求头如下)

我们发现有这几个请求头和正常的不一样(红色框中的)

authorization (感觉应该是js生成的,后面再看

Content-Type (后面多了boundary=xxx 这种,那这种是啥意思呢,后面和请求参数一起看

cookie:这个要注意,登陆前cookie就不为空,说明之前肯定有set-cookie的操作

x-udid,x-sxrftoken 这两个都是验证参数,估计都在网页源代码能找到

再看一下请求参数

可以看到参数是以payload的形式出现的

第一次看到这种的人估计会一脸懵逼

这个要结合请求中的

Content-Type:

multipart/form-data; boundary=----WebKitFormBoundary2KNsyxgtG28t93VF

来一起看

multipart/form-data 是一种表单提交的方式,后面的boundary=xxx 是表单分割的方式,那到底啥意思呢?看一个简单的小列子你就能明白啦

------WebKitFormBoundary2KNsyxgtG28t93VF 是分割不同参数的,所以可以直接不看他(这个是由上面的Content-Type后面的boundary决定的,可以随便修改)

那把分割线去掉后,上面的就相当于 client_id=c3cef7c66a1843f8b3a9e6a1e3160e20,

grant_type=password.

那么这个payload就很好理解了.

我们来看一下,一共有哪些参数

参数还挺多的,可以看到很多参数都是固定的,如账号,密码,时间戳,等等

变动的有两个 client_id,signature

开始找参数

authorization

我们在chrome内,直接按ctrl+shift+f(全局搜索,搜索js,css这些),可以看到已经搜索到了,并且是直接写在js里面的,然后重新随便换个账号再抓一次包,发现authorization 的值还是固定的,所以说明authorization 是直接写在js里面的,不是动态修改的(那么authorization 的值我们就已经找到了)


cookie

在登陆之前,就发现cookie的值不为空,说明肯定打开网页后就有set-cookie的操作了,我们想验证的话,先打开一个无痕浏览器(主要是为了把之前的cookie全部清空,避免干扰),然后打开http://zhihu.com,我们发现他有几次set-cookie的动作

那我们想要模拟的话,很简单的方法是直接使用requests.session

x-udid,x-sxrftoken:

一般这种验证参数都会在网页源代码里面,所以直接查看网页源代码

可以看到已经找到了,后续就是如何把这个找出来而已,可以使用正则,或者xpath定位到

client_id:

你会发现client_id与上面的authorization 一模一样

signature:

还是使用ctrl+shift+f 全局搜索

发现找到了,但是参数是js动态生成的...

主要是找到如何加密的,然后使用Python模拟出来

第一步:下载这个js,格式化(让代码好看一些)

第二步:使用fiddle替换掉原来的js,使用刚刚格式化的js

第三步:慢慢调试。。。直到找到如何生成的...

大概步骤是这样

但是假如你js像我一样很渣的话,你可以直接找到这段加密的js,然后Python执行这段js就可以了。。。

上面呢,我们把该找的参数都找到了,接着只要模拟发送就可以了

代码请关注微信公众号【python爬虫分享】,发送“知乎登陆代码”可见~~~

文章版权归作者所有,未经允许请勿转载,若此文章存在违规行为,您可以联系管理员删除。

转载请注明本文地址:https://www.ucloud.cn/yun/41297.html

相关文章

  • 知乎新版模拟登陆详解,小白也能懂

    摘要:模拟登陆知乎这个知乎的登陆也是坑满满,我也给踩了几个,这个就直接说坑吧,其他的就不多说了。 以下内容仅交流学习,请勿用于非法用途 如果你现在想模拟登陆知乎,会发现 fromdata 是一串加密的字符串 showImg(https://segmentfault.com/img/remote/1460000018245629); 看了之后是不是很痛苦?你是不是就想使用 selenium 来...

    buildupchao 评论0 收藏0
  • 知乎新版模拟登陆详解,小白也能懂

    摘要:模拟登陆知乎这个知乎的登陆也是坑满满,我也给踩了几个,这个就直接说坑吧,其他的就不多说了。 以下内容仅交流学习,请勿用于非法用途 如果你现在想模拟登陆知乎,会发现 fromdata 是一串加密的字符串 showImg(https://segmentfault.com/img/remote/1460000018245629); 看了之后是不是很痛苦?你是不是就想使用 selenium 来...

    xuxueli 评论0 收藏0
  • Python爬虫学习:微信、知乎、新浪等主流网站的模拟登陆爬取方法

    摘要:微信知乎新浪等主流网站的模拟登陆爬取方法摘要微信知乎新浪等主流网站的模拟登陆爬取方法。先说说很难爬的知乎,假如我们想爬取知乎主页的内容,就必须要先登陆才能爬,不然看不到这个界面。图片描述知乎需要手机号才能注册登陆。 微信、知乎、新浪等主流网站的模拟登陆爬取方法摘要:微信、知乎、新浪等主流网站的模拟登陆爬取方法。 网络上有形形色色的网站,不同类型的网站爬虫策略不同,难易程度也不一样。从是...

    Kahn 评论0 收藏0
  • 豆瓣读书搜索页的window.__DATA__的解密

    摘要:而且我觉得比上次的知乎的还难点,但是可能就只有搜索页是加密的,其他的直接找全部图书的都是直接放在源码的。写在最后这个豆瓣解密可以说不难,也可以说有点难,因为需要扣很多,如果你能看懂他相关的解密方法就不需要扣,就会很容易了。 上次发了破解知乎模拟登陆的最新版之后,很多人看了都说好,唯独没人给我点赞,以后还是麻烦大家,如果看到对你有用的文章,可以点点赞,支持下作者哈。 还有,知乎模拟登陆的...

    BenCHou 评论0 收藏0
  • 豆瓣读书搜索页的window.__DATA__的解密

    摘要:而且我觉得比上次的知乎的还难点,但是可能就只有搜索页是加密的,其他的直接找全部图书的都是直接放在源码的。写在最后这个豆瓣解密可以说不难,也可以说有点难,因为需要扣很多,如果你能看懂他相关的解密方法就不需要扣,就会很容易了。 上次发了破解知乎模拟登陆的最新版之后,很多人看了都说好,唯独没人给我点赞,以后还是麻烦大家,如果看到对你有用的文章,可以点点赞,支持下作者哈。 还有,知乎模拟登陆的...

    booster 评论0 收藏0

发表评论

0条评论

最新活动
阅读需要支付1元查看
<