如何模拟抓取四六级查询成绩(99宿舍网)

wikblog
  • 51

最近在做一个微信上查询四六级成绩的功能,学信网可以抓取,但是爬了1000左右后,就会出现验证码,只好放弃这个方法。有人可以从99宿舍网爬取,但他们不愿意告知,求大神告知具体方法。

回复
阅读 4.7k
2 个回答
chac
  • 6.5k
✓ 已被采纳

做了个DEMO:http://cet.zy62.com/

使用方法$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了。简单的验证码是可以破解的。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
宣传栏