新版知乎反爬虫js逆向过程

大约是在2020年3月底左右,知乎的反爬虫开始升级,再也不能放个UA就肆无忌惮的爬取了,此次的爬虫升级主要是在请求头中增加了一些加密参数,如图,其中必不可少的参数是x-zse-86,x-ab-param参数可以不要,x-zse-81参数是因为滑动翻页才会出现,不过有种方式可以让它不出现也可以翻页。
新版知乎反爬虫js逆向过程_第1张图片破解x-zse-86的过程记录如下:
1.全局搜索,定位加密参数所在位置
新版知乎反爬虫js逆向过程_第2张图片2.找到参数,打断点![在这里插入图片描述](https://img-blog.csdnimg.cn/2020061919470689.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L2hlX3Jhbmx5,size_16,color_FFFFFF,t_70新版知乎反爬虫js逆向过程_第3张图片3.观察加密参数上下文传了什么,被哪个函数加密,加密了变成了什么
新版知乎反爬虫js逆向过程_第4张图片在这里可以看到f.signature就是我们要找到参数,我们找到f所在函数继续打断点
新版知乎反爬虫js逆向过程_第5张图片最后找到了这里其中f的形式为:"3_2.0+/api/v4/search_v3?t=general&q=python&correction=1&offset=0&limit=20&lc_idx=0&show_all_topics=0+https://www.zhihu.com/search?type=content&q=python+“AIBWd7QGcxGPTuF4P_hiRBjNjKKmH7mnibE=|1592557053"”

其中"AIBWd7QGcxGPTuF4P_hiRBjNjKKmH7mnibE=|1592557053"这一传是cookie中的d0c参数,前面部分我们可以根据搜索链接构造,最后的步骤就是找到F()函数和q()函数了
最终效果:
新版知乎反爬虫js逆向过程_第6张图片

你可能感兴趣的:(爬虫技术)