其他分享
首页 > 其他分享> > 当年pass到很多扒手的题

当年pass到很多扒手的题

作者:互联网

经典的爬虫面试题

网站:http://datamining.comratings.com/exam

如何抓取10个ip,这题很经典,当时淘汰了很多扒手,去年我也搞了很久。

图片在这里插入图片描述

先查看网页源代码,啥也没有

 <iframe src="/exam2" frameborder="no" width="750" height="500"></iframe>

看不懂就抓包

图片在这里插入图片描述

可以看到经过了2次请求,最后在http://datamining.comratings.com/exam3中得到数据,现在注意resquesr中的hearder传入的参数

那就先请求一次,第二次带上hearders

图片在这里插入图片描述

去掉hearders中的参数

图片在这里插入图片描述

有经验的人就知道cookie是重要参数

思路

图片在这里插入图片描述
就是三个值而已,到底从哪里来的,摆明就是js生成的,那赶紧找第一次的js


图片在这里插入图片描述

复制js

在这个http://tool.oschina.net/codeformat/js/ 网站js格式化

image.png在这里插入图片描述

在控制台运行一下,就是返回一样的页面

image.png在这里插入图片描述
之后下一次请求在抓包没有发现js,而且cookies已经生成


image.png在这里插入图片描述

那就写个html 将上面js直接渲染,看看发生了啥?

image.png在这里插入图片描述

果然不出我料,这个cookies生成的js终于找到了

image.png在这里插入图片描述

格式化,将之前的js 替换

图片在这里插入图片描述

两张图片连在一起

图片在这里插入图片描述

补充下JavaScript charAt() 方法

图片

将这个js函数用python改写

image.png在这里插入图片描述

将js中的变量复到python文件中,调用自己写的f1

image.png在这里插入图片描述

测试,输出了c2的值

图片在这里插入图片描述

现在问题转成了怎么搞定session

用debug看下r.cookies 中的seesion位置

图片在这里插入图片描述图片在这里插入图片描述

还要正则处理将session匹对出来

图片在这里插入图片描述

再看下js,这个c1和c2怎么来的,具体调用了什么方法

图片在这里插入图片描述

不就是取前面几个切片,再调用f1函数

图片在这里插入图片描述

将参数传入,搞定

图片在这里插入图片描述

我终于看到了数字ip了

说明下:现在网站访问不了,好像被封了,所以代码不提供。


图片


最后,祝有所学习,有所成长


图片


转发,好看支持一下,感谢


你的转发,就是对我最大的支持


标签:这里,js,当年,插入,session,pass,描述,图片,扒手
来源: https://blog.51cto.com/15082391/2645962