首页 >后端开发 >php教程 >如何模拟抓取四六级查询成绩(99宿舍网)

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

WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB
WBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWBOYWB原创
2016-06-06 20:22:141559浏览

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

回复内容:

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

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

使用方法$rs = cet('姓名','准考证号'); var_dump($rs);

<code>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) </code>

微信版本:

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

遇到验证码,可能是你的爬虫没有换Ip。那就1000左右的时候更换IP继续爬就OK了。简单的验证码是可以破解的。

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn