学习爬虫遇到boss直聘网站,一直爬取回来的就是请稍等网页,,
<head>
<meta charset="utf-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge,chrome=1">
<meta name="viewport"
content="width=device-width, initial-scale=1.0, maximum-scale=1.0, minimum-scale=1.0, user-scalable=no" />
<title>请稍后</title>
</head>
<body>
<div style="font-size: 12px;">请稍后...</div>
<input type="hidden" id="page_key_name" value="security_bridge" />
<script>
经过翻找发现,是boss直聘需要在header里面带上一个cookie字段
zp_stoken=xxxxxxxxxxxxxxxxxxxxxx;
问题:但是怎么获取这个字段我一直拿不到?我在谷歌上面F12也看不到请求,会卡死
补充解决思路:这个访问请求会重定向,在重定向时会保存这个cookie,这是cookie是一个js文件加密生成的,简单点可以直接简化这个js文件的函数,直接运行就可以拿到这个cookie值,自己模拟加密方法就是大牛级别了 反正我是调用的他的js文件,另外js文件名在你重定向的验证url上面
直接访问他们的网站,谷歌开发工具不能查看到token?或者使用其他抓包工具看下,比如fidder,postman等
var url = window.location.href;
var seed = decodeURIComponent(getQueryString("seed")) || "";
var ts = getQueryString("ts");
var fileName = getQueryString("name");
var callbackUrl = decodeURIComponent(getQueryString("callbackUrl"));
var srcReferer = decodeURIComponent(getQueryString("srcReferer")||'');
if (seed && ts && fileName) {
seriesLoadScripts("security-js/" + fileName + ".js", function() {
var expiredate = new Date().getTime() + 32 * 60 * 60 * 1000 * 2;
var code = "";
var nativeParams = {};
var ABC = window.ABC || frame.contentWindow.ABC;
try {
code = new ABC().z(seed, parseInt(ts));
} catch (e) {}
if (code && callbackUrl) {
Cookie.set("__zp_stoken__", code, expiredate, COOKIE_DOMAIN, "/");
// 据说iOS 客户端存在有时写cookie失败的情况,因此调用客户端提供的方法,交由客户端额外写一次cookie
if (typeof window.wst != "undefined" && typeof wst.postMessage == "function") {
nativeParams = {
name: "setWKCookie",
params: {
url: COOKIE_DOMAIN,
name: "__zp_stoken__",
value: encodeURIComponent(code),
expiredate: expiredate,
path: "/"
}
};
window.wst.postMessage(JSON.stringify(nativeParams));
}
if(srcReferer && isSeo(srcReferer)){
window.location.href = srcReferer;
} else {
window.location.href = callbackUrl;
}
} else {
window.history.back();
}
});
} else {
if(srcReferer && isSeo(srcReferer)){
window.location.href = srcReferer;
}else if (callbackUrl) {
window.location.href = callbackUrl;
} else {
window.history.back();
}
}
}
是这个吧
cookie 破解了,用了二进制加密,但是每天js都会变化。js变化不知道怎么破解。
cookies 是有时效性的 你每次访问他的网页 他都会用js生成一个新的js返回给你 你上次的cookies就会时效 直接从开发者工具上复制cookies是不行的你需要js逆向获得他的动态cookies
boss的cookie每次请求会重新根据时间戳生成,其中tp_token每次都在变,一个cookie确实只能用5次,头疼,谁有办法破解
使用pyqt 能拿到cookie 但是太慢了
js文件 看的我一脸懵逼 有没有大佬解决的