Maison >développement back-end >tutoriel php >如何模拟抓取四六级查询成绩(99宿舍网)

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

WBOY
WBOYoriginal
2016-06-06 20:22:141525parcourir

最近在做一个微信上查询四六级成绩的功能,学信网可以抓取,但是爬了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了。简单的验证码是可以破解的。

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn