Android在Java获取组件,在Java中解析HTML以获取Android应用

小编典典

这是我要怎么做:

StringBuffer text = new StringBuffer();

HttpURLConnection conn = null;

InputStreamReader in = null;

BufferedReader buff = null;

try {

URL page = new URL(

"http://example.com/");

// URLEncoder.encode(someparameter); use when passing params that may contain symbols or spaces use URLEncoder to encode it and conver space to %20...etc other wise you will get a 404

conn = (HttpURLConnection) page.openConnection();

conn.connect();

/* use this if you need to

int responseCode = conn.getResponseCode();

if (responseCode == 401 || responseCode == 403) {

// Authorization Error

Log.e(tag, "Authorization Error");

throw new Exception("Authorization Error");

}

if (responseCode >= 500 && responseCode <= 504) {

// Server Error

Log.e(tag, "Internal Server Error");

throw new Exception("Internal Server Error");

}*/

in = new InputStreamReader((InputStream) conn.getContent());

buff = new BufferedReader(in);

String line = "anything";

while (line != null) {

line = buff.readLine();

String found = interpretHtml(line);

if(null != found)

return found; // comment the previous 2 lines and this one if u need to load the whole html document.

text.append(line + "\n");

}

} catch (Exception e) {

Log.e(Standards.tag,

"Exception while getting html from website, exception: "

+ e.toString() + ", cause: " + e.getCause()

+ ", message: " + e.getMessage());

} finally {

if (null != buff) {

try {

buff.close();

} catch (IOException e1) {

}

buff = null;

}

if (null != in) {

try {

in.close();

} catch (IOException e1) {

}

in = null;

}

if (null != conn) {

conn.disconnect();

conn = null;

}

}

if (text.toString().length() > 0) {

return interpretHtml(text.toString()); // use this if you don't need to load the whole page.

} else return null;

}

private String interpretHtml(String s){

if(s.startsWidth("

return s.substring(22, s.length() - 10);

}

return null;

}

2020-10-15

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值