最近在做一个微信上查询四六级成绩的功能,学信网可以抓取,但是爬了1000左右后,就会出现验证码,只好放弃这个方法。有人可以从99宿舍网爬取,但他们不愿意告知,求大神告知具体方法。
认证高级PHP讲师
使用方法$rs = cet('姓名','准考证号'); var_dump($rs);
$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了。简单的验证码是可以破解的。
做了个DEMO:http://cet.zy62.com/
使用方法
$rs = cet('姓名','准考证号'); var_dump($rs);
微信版本:
遇到验证码,可能是你的爬虫没有换Ip。那就1000左右的时候更换IP继续爬就OK了。简单的验证码是可以破解的。