当前位置:编程问答 > JS >

在android中使用jsoup解析页面链接

本来想直接看sdk中的doc文档来学习android的,结果发现里面的英文资料,学起来速度有点慢,遂买了本android的教程书回来学习,刚好看到一个书里面一个使用java.net.URL访问网页的例子,之前在做采集的时候,使用了html解析器jsoup来获取页面所有链接,顺便试下把jsoup放进android中使用下,发现jsoup在android中能直接使用,测试例子代码(本文只作了简单测试):
tt.jsp页面

<%@ page language="java" contentType="text/html; charset=UTF-8"
    pageEncoding="UTF-8"%>
<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>Insert title here</title>
</head>
<body>
测试连接
<a href="penngo>http://www.blogjava.net/pengo/">penngo的博客</a>
<a href="blogjava>http://www.blogjava.net/">blogjava博客</a>
</body>
</html>

Activity01.java

import org.jsoup.Jsoup;
import org.jsoup.nodes.Document;
import org.jsoup.nodes.Element;
import org.jsoup.select.Elements;

import android.app.Activity;
import android.os.Bundle;
import android.widget.TextView;

public class Activity01 extends Activity
{
    @Override
    public void onCreate(Bundle savedInstanceState)
    {
        super.onCreate(savedInstanceState);
       
        setContentView(R.layout.main);

        TextView tv = new TextView(this);
       
        String myString = null;
        StringBuffer sff = new StringBuffer();
        try
        {
            Document doc = Jsoup.connect("Java/tt.jsp").get>http://192.168.64.9:8099/AgentJava/tt.jsp").get();
            Elements links = doc.select("a[href]");
            for(Element link : links){
                sff.append(link.attr("abs:href")).append("  ").append(link.text()).append(" ");
            }
            myString = sff.toString();
        }
        catch (Exception e)
        {

            myString = e.getMessage();
            e.printStackTrace();
        }
        /**//* 将信息设置到TextView */
        tv.setText(myString);
       
        /**//* 将TextView显示到屏幕上 */
        this.setContentView(tv);
    }
}
运行效果:

\

本文是在android2.2中开发测试,jsoup在android上使用和在jdk上使用是一样,不用改变代码。


题外话:前个星期参加了多玩的招聘,未收到下一轮面试的回复(只好继续努力)。。。。。。今天也去参加网易的招聘了,坐车时,有点不顺利,大概一小时的车程,结果塞车害我坐了2小时,去到时,差不多是最后一个了。交了简历,开始等候,坐一个小时的板凳,终于轮到我(这时候等候厅基本没什么人了。。。),面试官匆匆的问了几个问题,就让我进去笔试了(题目就不说了,居然不用考linux,其实俺目前只会一点点,这方面有点杯具,一直在window平台上开发,少接触到linux,但很多公司的招聘都会有)。哈哈,我也匆匆的答完题目,回家吃饭。

补充:移动开发 , Android ,
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,