作业内容是 截取学校教学平台网站的新闻列表,然后在Android界面中用ListView显示出来,点击ListView中的Button可以弹出详细内容的新Activity。
本次学习重点如下:
1.截取HTML代码
2.用Jsoup解析HTML代码
详细要求:
1.BNUZH网络教学综合平台 打开之后可以看到通知公告。
2.查看源代码,我们可以发现是这段的内容
本次实验目的就是要抓取这里的代码
每一条<li>的内容都要转化并且在Android中显示出来
3.效果图1
为了方便显示 上面是一个TextView用来测试 截取的代码
下面的ListView是用于显示后来的经过转化的元素
这样看来,很快就能做到片总NGA客户端那种论坛抓取的形式啦。
实现过程以及重点:
1.用Android获取HTML源代码(UTF-8 不然默认是GB2312中文会乱码)
这部分网络连接需要用到异步线程 更新UI记得在onPostExecuted中完成
/* 连接EOL的方法 返回整个网页经过截取之后的的源代码 */
public String ConnectEOL() {
String result = "";
try {
HttpClient httpclient = new DefaultHttpClient();
HttpPost httppost = new HttpPost(URL_EOL);
HttpResponse response = httpclient.execute(httppost);
String Res = EntityUtils.toString(response.getEntity(), "UTF-8");
int st = Res.indexOf("<div class=\"notifywrap\">");
int ed = Res.indexOf("<div class=\"notify-more\">");
String content = Res.substring(st, ed);
st = content.indexOf("<ul>") + 4;
ed = content.indexOf("</ul>");
content = content.substring(st, ed);
result = content;
} catch (Exception e) {
Log.d(TAG, e.toString());
}
return result;
}
这里先获得整个HTML页面的代码 用String保存
然后对这个字符串进行一步步的截取 使得只剩下ul标签里面的多个li标签。
2.用Jsoup解析HTML代码获取了