时间:2021-07-01 10:21:17 帮助过:23人阅读
最近在做一个微信上查询四六级成绩的功能,学信网可以抓取,但是爬了1000左右后,就会出现验证码,只好放弃这个方法。有人可以从99宿舍网爬取,但他们不愿意告知,求大神告知具体方法。
使用方法$rs = cet('姓名','准考证号'); var_dump($rs);
function cet($name,$id){
$name = urlencode(mb_convert_encoding($name, 'gb2312', 'utf-8'));
$post = 'id=' . $id . '&name=' . $name;
$url = "http://cet.99sushe.com/findscore";
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_REFERER, "http://cet.99sushe.com/");
curl_setopt($ch, CURLOPT_POST, 1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
curl_setopt($ch, CURLOPT_NOBODY, false);
$str = curl_exec($ch);
curl_close($ch);
$str = iconv("GB2312", "UTF-8", $str);
if (strlen($str) < 10) {
return false;
}
return explode(',', $str);
}
遇到验证码,可能是你的爬虫没有换Ip。那就1000左右的时候更换IP继续爬就OK了。简单的验证码是可以破解的。