,遇到自动变换的验证码,并且没有src地址。
新手搞爬虫遇到这样的验证码,如果自己拼上域名,访问的时候自动刷新了,请问有什么办法可以保存下来请求时当前页面的验证码。提交POST请求时候提示验证码过期。
下面是该网站点击登录调用的方法,谁能给解释一下?,感觉登录的时候先验证密码又跳到另一个页面,post2次。像这种的还能用SCRAPY实现吗。
function Login() {
var MemberCode = $("#MemberCode").val();
var Certifi = $("#Certifi").val();
var keyCode = $("#KeyCode").val();
var securityToken = $('<input name="__RequestVerificationToken" type="hidden" value="UOheXkUvBoX52Rzw047jPEQME2bmJNJwKRzEErmClERL_cbEJgg2NuMiqOiuv2qnVq9lVbZJwvb49hO21AJGX9YveycobC69QSw8WaDVvxk1" />').attr('value');
$("#nameerr2").html("");
$("#nameerr1").html("");
$("#nameerr3").html("");
$("#nameerr4").html("");
if (MemberCode == "") {
$("#nameerr1").attr("style", "color:red;");
$("#nameerr1").html("请输入登录账号");
$("#MemberCode").focus();
return;
}
if (Certifi == "") {
$("#nameerr2").attr("style", "color:red;");
$("#nameerr2").html("请输入密码");
$("#Certifi").focus();
return;
}
if (keyCode == "") {
$("#nameerr3").attr("style", "color:red;");
$("#nameerr3").html("验证码必填");
$("#keyCode").focus();
return;
}
//加密码
$.ajax({
type: "post",
url: "/Basic/MDpassword",
dataType: "Json",
async: false,
data: { Certification: Certifi, __RequestVerificationToken: securityToken },
success: function (data) {
if (data.s == "S") {
$("#Certifi").val(data.msg);
$("#mpp").val(data.mpp);
}
else {
$("#nameerr1").html();
$("#nameerr2").html();
$("#nameerr3").html();
$("#nameerr4").html();
$("#nameerr2").attr("style", "color:red;");
$("#nameerr2").html(data.msg);
$("#Certifi").val("");
$("#Certifi").focus();
}
},
error: function (data) { alert("加载失败"); }
});
Certifi = $("#Certifi").val();
var mpp = $("#mpp").val();
$("#Certifi").val("");
//加载类别
$.ajax({
type: "post",
url: "/Basic/Login",
dataType: "Json",
async: false,
data: { returnUrl: $("#returnUrl").val(), MemberCode: MemberCode, Certification: Certifi, Certifi: $("#Certifi").val(), mpp: mpp, keyCode: keyCode, __RequestVerificationToken: securityToken },
success: function (data) {
if (data.s == "S") {
location.href = data.returnUrl;
}
else {
$("#nameerr1").html();
$("#nameerr2").html();
$("#nameerr3").html();
$("#nameerr4").attr("style", "color:red;");
if (data.msg.length > 7) {
alert(data.msg);
} else {
$("#nameerr4").html(data.msg);
}
}
},
error: function (data) { alert("加载失败"); }
});
}