准备材料
- 智联企业端账号
- 打码兔平台账号
验证码
按顺序点击文字类型的验证码
通过抓包获取
Request URL:https://passport.zhaopin.com/chk/getcap?t1483158691059
Request Method:GET
Status Code:200 OK
Remote Address:59.151.5.6:443
注意:Request header需要传入Referer
Referer:https://passport.zhaopin.com/org/login
获得验证码原始图片
原始的错乱的验证码图片还原验证码
审查网页元素原理很简单,原始的乱序验证码图片作为背景图,然后根据相应的坐标重新拼成一张肉眼可以看懂的验证码图。
还原的坐标是固定的,就算以后变了,也可以通过解析网页重新获取。
还原后的验证码
原始乱序验证码 还原后的验证码注意:还原后的验证码最下方有提示文字,所以打码的时候,只需要将还原后的验证码图发送给打码平台即可,并且不会影响点击的坐标
对接打码平台
打码平台
选择合适的打码类型
287
(鼠标坐标多选题.返回格式:x1,y1|x2,y2|x3,y3)
题分15
(普通4位数字的题分为10,所以不算贵)
http://wiki.dama2.com/index.php?n=ApiDoc.Pricedesc
获取打码结果
218,69|127,89|47,95
验证验证码
抓包获取验证验证码的请求
Request URL:https://passport.zhaopin.com/chk/verify?callback=jsonpCallback
Request Method:POST
Status Code:200 OK
Remote Address:59.151.5.5:443
Form data:
p:37,96;69,82;252,82
time:1483166711484
注意:
p是打码坐标,记得把|
替换成;
time是时间戳
验证通过的response
jsonpCallback({MessageText:"57afe00208a3448dae057bd57c37e053"})
注意:
- 打码兔背后也是人肉操作,不能确保100%打码成功。
- 经过测试发现
90%
正确率还是有的。 - 需要检查response的
MessageText
,如果为空表示验证失败,需要重新获取验证码后进行打码
自动登录
抓取智联招聘企业端登录的请求包
Request URL:https://passport.zhaopin.com/org/login
Request Method:POST
Status Code:200 OK
Remote Address:59.151.5.5:443
Form Data:
bkurl:
LoginName:r*******8
Password:m*******6
CheckCode:57afe00208a3448dae057bd57c37e053
IsServiceCheck:true
IsServiceCheck:false
servicecheckinput:已勾选
CheckCode就是验证验证码response里面的
MessageText
这里比较坑爹的一点是有两个IsServiceCheck,请无视IsServiceCheck:false
,否则会登录错误
登录后跳转
<!DOCTYPE HTML PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<title>正在跳转</title>
// ...
<script type="text/javascript">
// ...
window.location.href = "http://rd2.zhaopin.com/s/loginmgr/loginproc_new.asp?t=636187922028987902";
})
</script>
</head>
<body>
<div id="loading" style="float:left;margin:15px; height:100px; width:100px;"></div>
</body>
</html>
正常情况下,登录后就能访问受保护页面了,但智联招聘这货还要再摆你一道,在login请求完成后会拿到一个跳转页面,需要解析出一个跳转地址(当然不解析也没关系,这个跳转地址是固定的)
window.location.href = "http://rd2.zhaopin.com/s/loginmgr/loginproc_new.asp?t=636187922028987902";
访问这个跳转地址就大功告成了!
#### 获取简历
GET http://rd2.zhaopin.com/RdApply/Resumes/Apply/index
#### 技术参考
- Programming Language: `Python`
- HTTP Library: `Requests`
- Image Library: `pillow`
>http://pillow.readthedocs.io/en/3.4.x/handbook/tutorial.html
>Cutting, pasting, and merging images
网友评论