课表抓取(课程表简单原理)
1. 对网页源码进行分析,找到验证码的链接。获取验证码
2. 对登陆页进行抓包,将必要数据 经过post/get将请求发到网站服务器。
3. 对当前返回的网页进行分析,为二次访问准备必要的数据。
4. 再次携带必要数据,post链接。返回课表所在的HTML。
5. 用Jsoup解析当前返回的HTML,获得课表信息。
详细分析
private static HttpClient client = newDefaultHttpClient(); // 声明
HttpHost request= new HttpHost(url); // 初始化链接
HttpResponse requst= client.execute(httpPost) // 发出请求
// httpRequest.setEntity()使用此方法携带必要信息
if(httpResponse.getStatusLine().getStatusCode() == 200) { // 若返回正常值200
returnreadFromStream(httpResponse.getEntity().getContent());
}
获得流后进行处理,形成String。
注意:1. 了解抓包。提供一个抓包工具HttpWatch.
2.因cookie自动管理。单例HttpClient,client携带必要headers。
3. 线程使用与安全.
4.提供一个链接
http://blog.csdn.net/u010858238/article/details/9029653;
思路基本一致,不一定能实现,需要自己研究,有问题大家一起讨论。