最近在做一個上查詢四六級成績的功能,學信網可以抓取,但是爬了1000左右後,就會出現驗證碼,只好放棄這個方法。有人可以從99宿舍網爬取,但他們不願意告知,求大神告知具體方法。
回複內容:
最近在做一個上查詢四六級成績的功能,學信網可以抓取,但是爬了1000左右後,就會出現驗證碼,只好放棄這個方法。有人可以從99宿舍網爬取,但他們不願意告知,求大神告知具體方法。
做了個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了。簡單的驗證碼是可以破解的。